Pagini recente » Cod sursa (job #1285977) | Cod sursa (job #669841) | Cod sursa (job #969439) | Cod sursa (job #210459) | Cod sursa (job #829646)
Cod sursa(job #829646)
#include <fstream>
#include <vector>
using namespace std;
ifstream in("nrcuv.in");
ofstream out("nrcuv.out");
bool invalid[27][27];
int n,m,a[27][1010];
int main(){
in>>n>>m;
int i;
char x,y;
for(i=1;i<=m;++i){
in>>x>>y;
invalid[x-'a'][y-'a']=true;
invalid[y-'a'][x-'a']=true;
}
for(i=0;i<26;++i){
a[i][1]=1;
}
int j,k;
for(i=1;i<n;++i){
for(j=0;j<26;++j){
for(k=0;k<26;++k){
if(!invalid[j][k]){
a[k][i+1]+=a[j][i];
a[k][i+1]%=104659;
}
}
}
}
int result=0;
for(i=0;i<26;++i){
result+=a[i][n];
}
out<<result%104659;
return 0;
}