Pagini recente » Cod sursa (job #2520119) | Cod sursa (job #1897356) | Cod sursa (job #299892) | Cod sursa (job #1725882) | Cod sursa (job #2377939)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("nrcuv.in");
ofstream g("nrcuv.out");
bool t[27][27];
short int v[1001][1001];
short int n,m;
const int mod=104659;
void citire()
{
char x,y;
f>>n>>m;
for(int i=1;i<=m;i++){
f>>x>>y;
t[x-'a'+1][y-'a'+1]=true;
}
}
void construire()
{
for(short int i=1;i<=26;i++)v[1][i]=1;
for(short int i=2;i<=n;i++){
for(short int j=1;j<=26;j++){
for(int k=1;k<=26;k++){
if(t[j][k]==false&&t[k][j]==false){
if (j==2)cout<<k<<" ";
v[i][j]=(v[i][j]+v[i-1][j])%mod;
}
}
cout<<endl;
}
}
}
void adunare(){
long long s=0;
for(int i=1;i<=26;i++)s=(v[n][i]+s)%mod;
g<<s;
}
int main()
{
citire();
construire();
adunare();
return 0;
}