Pagini recente » Cod sursa (job #2252960) | Cod sursa (job #3237013) | Cod sursa (job #3167112) | Cod sursa (job #1809347) | Cod sursa (job #2409176)
#include <cstdio>
FILE* FIN=freopen("nrcuv.in","r",stdin);
FILE* FOUT=freopen("nrcuv.out","w",stdout);
using namespace std;
int ar[26][26],d[2][26],n;
void mmset(int v[],int l,int val)
{
int i;
for(i=0;i<l;++i)
v[i]=val;
}
void mset(int m[26][26],int val)
{
int i;
for(i=0;i<26;++i)
mmset(m[i],26,val);
}
void cit()
{
mset(ar,1);
int i,m;
char x[2];
scanf("%d%d\n",&n,&m);
for(i=0;i<m;++i)
{
scanf("%c %c\n",&x[0],&x[1]);
ar[x[0]-'a'][x[1]-'a']=0;
ar[x[1]-'a'][x[0]-'a']=0;
}
}
int sum(int v[],int p)
{
int i,sol;
for(i=0,sol=0;i<26;sol+=v[i]*ar[p][i],++i);
return sol;
}
void diny()
{
int i,k,j,p;
for(i=0;i<26;++i)
d[0][i]=1;
for(i=1,k=1;i<n;++i,k=i%2)
{
for(p=0;p<26;++p)
d[k][p]=sum(d[(k+1)%2],p);
}
}
void af()
{
int i,k,sol;
for(i=0,k=(n+1)%2,sol=0;i<26;sol+=d[k][i],++i);
printf("%d",sol);
}
int main()
{
cit();
diny();
af();
return 0;
}