Pagini recente » Cod sursa (job #2067342) | Cod sursa (job #1025308)
#include <fstream>
using namespace std;
ifstream fin("nrcuv.in");
ofstream fout("nrcuv.out");
const int lmax= 26;
const int nmax= 1000;
const int mod= 104659;
bool l[lmax+1][lmax+1];
int d[nmax+1][lmax+1];
int main( ) {
int n, m;
fin>>n>>m;
for ( int i= 0; i<m; ++i ) {
char x, y;
fin>>x>>y;
l[(int)x-'a'][(int)y-'a']= l[(int)y-'a'][(int)x-'a']= 1;
}
for ( int i= 0; i<lmax; ++i ) {
d[1][i]= 1;
}
for ( int i= 2; i<=n; ++i ) {
for ( int j= 0; j<lmax; ++j ) {
for ( int k= 0; k<lmax; ++k ) {
if ( l[j][k]==0 ) {
d[i][j]= (d[i][j]+d[i-1][k])%mod;
}
}
}
}
int sol= 0;
for ( int i= 0; i<lmax; ++i ) {
sol= (sol+d[n][i])%mod;
}
fout<<sol<<"\n";
return 0;
}