Cod sursa(job #1756669)

Utilizator nicholascantarNicholas David Cantar Gogitidze nicholascantar Data 13 septembrie 2016 13:16:48
Problema Lacate Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.92 kb
#include <fstream>
#include <cstring>
using namespace std;
char s[101],v[101],a[101][101],x;
int i,j,n,m,k,nr;
int main()
{
    ifstream fin ("lacate.in");
    ofstream fout ("lacate.out");
    fin>>n>>m;
    fin>>s;
    //fout<<s<<'\n';
    for (i=1;i<=m;i++)
    {
        fin>>a[i];
    }
    for (i=0;i<n;i++)
        v[i]=s[i];
    x=v[0];
    for (i=1;i<=(n-1)/2;i++)
    {
        for (j=0;j<n-1;j++)
            v[j]=v[j+1];
        v[n-1]=x;
        //fout<<v<<" "<<x<<" "<<nr<<'\n';
        for (k=1;k<=m;k++)
          if (strcmp(v,a[k])==0) nr=nr+i;
        x=v[0];
    }
    for (i=0;i<n;i++)
        v[i]=s[i];
    x=v[n-1];
    for (i=n-1;i>=n/2+1;i--)
    {
        for (j=n-1;j>0;j--)
            v[j]=v[j-1];
        v[0]=x;
        //fout<<v<<" ";
        for (k=1;k<=m;k++)
          if (strcmp(v,a[k])==0) nr=nr+n-i;
        x=v[n-1];
    }
    fout<<nr;
    return 0;
}