Pagini recente » Cod sursa (job #2810609) | Cod sursa (job #1439091) | Cod sursa (job #825262) | Cod sursa (job #2241320) | Cod sursa (job #769665)
Cod sursa(job #769665)
#include<iostream>
#include<fstream>
using namespace std;
const int D = 104659;
int main()
{
ifstream f("nrcuv.in");
ofstream g("nrcuv.out");
int **v, n, k,i,j,**l,a,b,sum;
f>>k;
f>>n;
v=new int*[k+3];
l=new int*[28];
for(i=1;i<=28;i++)
l[i]=new int[28];
for(i=1;i<=k+2;i++)
v[i]=new int[28];
char c;
for(i=1;i<=n;i++)
{
f>>c;
a=c-96;
f>>c;
b=c-96;
l[a][b]=1;
l[b][a]=1;
}
for(i=1;i<=26;i++)
{
v[1][i]=1;
}
for(i=2;i<=k;i++)
for(j=1;j<=26;j++)
{
sum=0;
for(int o=1;o<=26;o++)
{
if(l[j][o]!=1) sum+=v[i-1][o];
}
sum%=D;
v[i][j]=sum;
}
sum=0;
for( i=1;i<=26;i++)
sum+=v[k][i];
sum%=D;
g<<sum<<endl;
//system("pause");
return 0;
}