Cod sursa(job #2394627)
| Utilizator | Data | 1 aprilie 2019 19:01:44 | |
|---|---|---|---|
| Problema | Lista lui Andrei | Scor | 35 |
| Compilator | cpp-64 | Status | done |
| Runda | pre003 | Marime | 0.61 kb |
#include <fstream>
#define DIM 1005
#define MOD 104659
using namespace std;
bool ok[30][30];long long dp[DIM][30];
int main()
{ int n,m,i,j,k;char l1,l2;long long sol=0;
ifstream f("nrcuv.in");
ofstream g("nrcuv.out");
f>>n>>m;
for (i=1;i<=m;++i) {
f>>l1>>l2;
ok[l1-'a'][l2-'a']=1;
ok[l2-'a'][l1-'a']=1;
}
for (i=0;i<26;++i)
dp[1][i]=1;
for (i=2;i<=n;++i)
for (j=0;j<26;++j)
for (k=0;k<26;++k)
if (!ok[j][k]) dp[i][j]+=dp[i-1][k];
for (j=0;j<26;++j)
sol+=dp[n][j];
g<<sol<<'\n';
return 0;
}
