Nu exista pagina, dar poti sa o creezi ...
Cod sursa(job #3281988)
| Utilizator | Data | 4 martie 2025 11:44:27 | |
|---|---|---|---|
| Problema | Lista lui Andrei | Scor | 35 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.75 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream fin("nrcuv.in");
ofstream fout("nrcuv.out");
int v[27][27],n,m;
int dp[1005][27];
/**
0 1 2 3 4 5 6 7 8 9 10
1 1 1 1 1 1 1 1 1 1 1
2
*/
int main()
{
int i,j, k;
char a,b;
fin >> n >> m;
while(m--)
{
fin >> a >> b;
v[a - 'a' + 1][b - 'a' + 1] = v[b - 'a' + 1][a - 'a' + 1] = 1;
}
for(i = 1; i <= 26; i++)
dp[1][i] = 1;
for(i = 2; i <= n; i++)
for(j = 1; j <= 26; j++)
{
for(k = 1; k <= 26; k++)
if(!v[j][k] && !v[k][j])
dp[i][j] += dp[i - 1][k];
}
int s = 0;
for(i = 1; i <= 26; i++)
s += dp[n][i];
fout << s;
return 0;
}
