Cod sursa(job #886968)

Utilizator kissannaKiss Anna kissanna Data 23 februarie 2013 14:10:57
Problema Lista lui Andrei Scor 15
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <iostream>
#include <fstream>
using namespace std;

int main()
{const int MOD=104659;
FILE *F,*G;
F=fopen("nrcuv.in","r");
int N,M,x,y;
int din[27]={0};
char a,b;
short int abc[27]={0};
bool boo[27][27]={0};
fscanf(F,"%d %d",&N,&M);
for (x=1;x<=M;x++)
    {
        fscanf(F,"%c %c %c",&a,&a,&b);
        if (!(boo[a-'a'][b-'a'])) {abc[b-'a']++; if (a!=b) abc[a-'a']++; boo[a-'a'][b-'a']=1; boo[b-'a'][a-'a']=1;}
    }
fclose(F);

int maxi=26;
for (x=0;x<N-1;x++)
    {for (y=1;y<=26;y++)
        din[y]=maxi%MOD-abc[y-1]+din[y-1]%MOD;
    maxi=din[26]%MOD;
    }
G=fopen("nrcuv.out","w");
if (N==1) fprintf(G,"%d",26); else fprintf(G,"%d",maxi);
fclose(G);
}