Pagini recente » Cod sursa (job #2132183) | Cod sursa (job #1802498) | Cod sursa (job #3135757) | Cod sursa (job #1313658) | Cod sursa (job #2974825)
#include<iostream>
#include<fstream>
using namespace std;
ifstream f("nrcuv.in");
ofstream g("nrcuv.out");
int n,m,v[1005][27],dp[1005][27];
bool litere[27][27];
void citire()
{
f>>n>>m;
for(int i=1;i<=m;i++)
{
char a,b;
f>>a>>b;
litere[a-'a'+1][b-'a'+1] = true;
litere[b-'a'+1][a-'a'+1] = true;
}
}
void solve()
{
for(int i=1;i<=26;i++)
dp[1][i] = 1;
for(int i=2;i<=n;i++)
{
for(int j=1;j<=26;j++)
{
for(int k=1;k<=26;k++)
{
if(litere[j][k] == false)
{
dp[i][j] = dp[i][j] + dp[i-1][k];
}
}
dp[i][j] = dp[i][j] % 104659;
}
}
int suma = 0;
for(int i=1;i<=26;i++)
{
suma = suma + dp[n][i];
cout<<dp[n][i]<<" ";
}
g<<suma;
}
int main()
{
citire();
solve();
}