Pagini recente » Cod sursa (job #307642) | Cod sursa (job #1131408) | Cod sursa (job #196097) | Cod sursa (job #1529562) | Cod sursa (job #2974827)
#include<iostream>
#include<fstream>
using namespace std;
ifstream f("nrcuv.in");
ofstream g("nrcuv.out");
long long 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];
}
g<<suma % 104659;
}
int main()
{
citire();
solve();
}