Pagini recente » Cod sursa (job #2633783) | Cod sursa (job #2436164) | Cod sursa (job #1675506) | Cod sursa (job #1411277) | Cod sursa (job #1025509)
#include <fstream>
using namespace std;
int c[28][28], d[1003][30];
void init(){
for(int i=1; i<=26; i++){
d[1][i]=1;
}
}
int main()
{
ifstream in("nrcuv.in");
ofstream out("nrcuv.out");
int n,m,i,j,R=0,mod=104659;
char x,y;
in>>n>>m;
init();
for(i=1; i<=m; i++){
in>>x>>y;
c[x-'a'+1][y-'a'+1]=1;
c[y-'a'+1][x-'a'+1]=1;
}
for(i=2; i<=n; i++){
for(j=1; j<=26; j++){
for(int k=1; k<=26; k++){
if(c[j][k]==0 && c[k][j]==0){
d[i][j]=(d[i][j]+(d[i-1][k]%mod))%mod;
}
}
}
}
for(i=1; i<=26; i++){
R=(R+(d[n][i]%mod))%mod;
}
out<<R%mod;
in.close();
out.close();
return 0;
}