Cod sursa(job #1011204)
| Utilizator | Data | 16 octombrie 2013 16:21:00 | |
|---|---|---|---|
| Problema | Lista lui Andrei | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.58 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("nrcuv.in");
ofstream g("nrcuv.out");
int n,m,p[1005][28],ok[28][28],mod=104659,sol=0;
int main()
{ int i,j,t; char c1,c2;
f>>n>>m;
for(i=1;i<=m;i++)
{ f>>c1>>c2;
ok[c1-96][c2-96]=1;
ok[c2-96][c1-96]=1;
}
for(j=1;j<=26;j++)
p[1][j]=1;
for(i=2;i<=n;i++)
for(j=1;j<=26;j++)
for(t=1;t<=26;t++)
if (!ok[j][t])
{p[i][j]+=p[i-1][t];
p[i][j]%=mod;}
for(i=1;i<=26;i++)
{sol+=p[n][i]; sol%=mod;}
g<<sol;
return 0;
}
