Cod sursa(job #1313476)
Utilizator | Data | 10 ianuarie 2015 18:24:07 | |
---|---|---|---|
Problema | Lista lui Andrei | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.68 kb |
#include<fstream>
using namespace std;
int m[26][26],d[1001][26];
ifstream in ("nrcuv.in");
ofstream out("nrcuv.out");
int main()
{
int n,a,s=0;
char x,y;
in>>n>>a;
for(int i=1;i<=a;i++)
{
in>>x>>y;
m[x-'a'][y-'a']=1;
m[y-'a'][x-'a']=1;
}
for(int i=0;i<=25;i++)
d[1][i]=1;
for(int i=1;i<=n-1;i++)
{
for(int j=0;j<26;j++)
{
for(int k=0;k<26;k++)
{
if(m[j][k]==0)
d[i+1][k]=(d[i+1][k]+d[i][j])%104659;
}
}
}
for(int k=0;k<26;k++)
s=(s+d[n][k])%104659;
out<<s;
return 0;
}