Pagini recente » Cod sursa (job #3259022) | Cod sursa (job #769125) | Cod sursa (job #2226338) | Cod sursa (job #498201) | Cod sursa (job #2673017)
#include <fstream>
#include <cstring>
using namespace std;
int c[31][31],n,m,a[1005][31],s;
char h,k;
ifstream fin("nrcuv.in");
ofstream fout("nrcuv.out");
int main()
{
int i,j,x,y,l,z;
fin>>n>>m;
for(i=1;i<=m;i++)
{
fin>>h>>k;
/*fout<<x-96<<" "<<y-96;
h=x-96;
fout<<" "<<h;*/
x=h-96;
y=k-96;
c[x][y]=1;
c[y][x]=1;
}
for(i=1;i<=26;i++)
{
a[1][i]=1;
a[0][i]=1;
}
l=1;
for(i=2;i<=n;i++,l=1-l)
{
memset(a[l],0,sizeof(a[l]));
for(j=1;j<=26;j++)
{
s+=a[1-l][j];
}
for(j=1;j<=26;j++)
{
for(z=1;z<=26;z++)
{
if(c[j][z]==1)
{
a[l][j]-=a[1-l][z];
}
}
a[l][j]+=s;
}
}
s=0;
for(i=1;i<=26;i++)
{
s+=a[1-l][i]%104659;
}
fout<<s;
return 0;
}