Pagini recente » Cod sursa (job #3259132) | Cod sursa (job #3256010) | Cod sursa (job #1439687) | Cod sursa (job #1850653) | Cod sursa (job #944622)
Cod sursa(job #944622)
#include <fstream>
using namespace std;
fstream in("nrcuv.in",ios::in),out("nrcuv.out",ios::out);
const int MOD=104659;
int m,n,d[1002][26],c[26];
bool comp[26][26];
int sum(int i,int j){
int s=0;
for(int k=0 ; k<26 ; k++){
if(!comp[k][j]) s=(s+d[i-1][k])%MOD;
}
return s;
}
int main()
{
in>>n>>m>>ws;
for(int i=1 ; i<=m ; i++){
char t,s;
in>>ws>>t>>ws>>s>>ws;
comp[(int)t-'a'][(int)s-'a']=true;
comp[(int)s-'a'][(int)t-'a']=true;
}
/*
for(int i=0 ; i<26 ; i++){
for(int j=0 ; j<26 ; j++){
out<<comp[i][j]<<'\t';
}
out<<'\n';
}
*/
/*int co=0;
for(int i=0 ; i<26 ; i++){
for(int j=0 ; j<26 ; j++){
if(comp[i][j]) co++;
}
c[i]=26-co;
co=0;
}*/
for(int i=0 ; i<26 ; i++){
d[1][i]=1;
}
for(int i=2 ; i<=n ; i++){
for(int j=0 ; j<26 ; j++){
d[i][j]=sum(i,j);
//d[i][j]=d[i-1][j]+c[j];
}
}
/*for(int i=1 ; i<=n ; i++){
for(int j=0 ; j<26 ; j++){
out<<d[i][j]<<' ';
}
out<<'\n';
}*/
int s=0;
for(int i=0 ; i<26 ; i++){
//out<<s<<" + "<<d[n][i]<<" = ";
s=(s+d[n][i])%MOD;
//out<<s<<"\n";
}
out<<s;
return 0;
}