Cod sursa(job #1768783)
| Utilizator | Data | 1 octombrie 2016 14:07:43 | |
|---|---|---|---|
| Problema | Lista lui Andrei | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.62 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("nrcuv.in");
ofstream fout("nrcuv.out");
int i,dp[1005][27],n,m,f[27][27],S;
int main()
{
char x,y;
fin>>n>>m;
for(i=1;i<=m;i++)
{
fin>>x>>y;
f[x-96][y-96]=1;
f[y-96][x-96]=1;
}
for(i=1;i<=26;i++)
dp[1][i]=1;
for(i=2;i<=n;i++)
{
for(int j=1;j<=26;j++)
{
for(int t=1;t<=26;t++)
{
dp[i][j]=(dp[i][j]*(t>1)+(dp[i-1][t])*(!f[t][j]))%104659;
}
}
}
for(i=1;i<=26;i++)
S=(S+dp[n][i])%104659;
fout<<S;
return 0;
}
