Pagini recente » Cod sursa (job #961843) | Cod sursa (job #2153141) | Cod sursa (job #323949) | Cod sursa (job #1803631) | Cod sursa (job #942785)
Cod sursa(job #942785)
#include<fstream>
using namespace std;
ifstream in("nrcuv.in");
ofstream out("nrcuv.out");
const int N = 1005;
const int MOD = 104659;
int ad[30][30],d[N][30];
int n,m,sum;
char c1,c2;
void afisaread(){
int i,j;
for(i=1;i<=26;i++){
for(j=1;j<=26;j++) out<<ad[i][j]<<' ';
out<<'\n';
}
}
void afisared(){
int i,j;
for(i=1;i<=n;i++){
for(j=1;j<=26;j++) out<<d[i][j]<<' ';
out<<'\n';
}
}
int main(){
int i,j,k;
in>>n>>m;
for(i=1;i<=m;i++){
in>>c1>>c2;
ad[int(c1)-'a'+1][int(c2)-'a'+1]=1;
ad[int(c2)-'a'+1][int(c1)-'a'+1]=1;
}
//afisaread(); out<<'\n';
for(j=1;j<=26;j++) d[1][j]=1;
for(i=2;i<=n;i++)
for(j=1;j<=26;j++)
for(k=1;k<=26;k++) if(ad[k][j]==0 && ad[j][k]==0){
d[i][j]+=d[i-1][k];
d[i][j]%=MOD;
}
//afisared(); out<<'\n';
for(j=1;j<=26;j++){
sum+=d[n][j];
sum%=MOD;
}
out<<sum;
return 0;
}