Pagini recente » Cod sursa (job #233143) | Cod sursa (job #134385) | Cod sursa (job #899567) | Cod sursa (job #2766277) | Cod sursa (job #967907)
Cod sursa(job #967907)
#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[nmax][mmax],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];
}
}
}
for(j='a';j<='z';j++)
sum+=dp[n][j];
g<<sum;
return 0;
}