Pagini recente » Cod sursa (job #611560) | Cod sursa (job #2615299) | Cod sursa (job #1993539) | Cod sursa (job #30197) | Cod sursa (job #967917)
Cod sursa(job #967917)
#include <iostream>
#include <fstream>
#define nmax 1000
#define mmax 30
using namespace std;
ifstream f("nrcuv.in");
ofstream g("nrcuv.out");
int i,n,m,dp[1005][300],sum;
bool prieten[300][300];
char j,k,x,y;
int main()
{f>>n;
for(j='a';j<='z';j++)
for(k='a';k<='z';k++)
prieten[j][k]=1;
f>>m;
for(i=1;i<=m;i++){
f>>x;
f>>y;
prieten[x][y]=0;
prieten[y][x]=0;}
for(j='a';j<='z';j++)
dp[1][j]=1;
for(i=2;i<=n;i++){
for(j='a';j<='z';j++){
for(k='a';k<='z';k++){
if(prieten[j][k]==1&&prieten[k][j]==1)dp[i][j]+=dp[i-1][k];
dp[i][j]%=104659;
}
}
}
for(j='a';j<='z';j++){
sum+=dp[n][j];
sum%=104659;
}
g<<sum;
return 0;
}