Pagini recente » Cod sursa (job #1815545) | Cod sursa (job #3281668) | Cod sursa (job #346027) | Cod sursa (job #2002697) | Cod sursa (job #5898)
Cod sursa(job #5898)
#include<stdio.h>
const int maxn = 18000;
const int maxn2 = 1000;
int a[maxn2][maxn2];
int mat[maxn2][maxn2];
int i;
int j;
int m;
int k;
int n;
char c1;
char c2;
int main()
{
freopen("nrcuv.in","r",stdin);
freopen("nrcuv.out","w",stdout);
scanf("%d %d\n",&n,&m);
for(i=1;i<=m;i++)
{
scanf("%c %c ",&c1,&c2);
a[c1-'a'+1][c2-'a'+1]=1;
a[c2-'a'+1][c1-'a'+1]=1;
}
for(i=1;i<=26;i++)
{
mat[1][i]=1;
}
for(i=1;i<=n;i++)
for(j=1;j<=26;j++)
for(k=1;k<=26;k++)
{
if (a[j][k]==0)
{
mat[i+1][k]=(mat[i+1][k]+mat[i][j])%104659;
}
}
int sum=0;
for(j=1;j<=26;j++)
{
sum= (sum+mat[n][j])%104659;
}
printf("%d\n",sum);
return 0;
}