Pagini recente » Cod sursa (job #302375) | Cod sursa (job #2388217) | Cod sursa (job #2321409) | Cod sursa (job #923196) | Cod sursa (job #2058471)
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;
bool r[27][27];
int mat[1001][27] ;
int n,m;
char c1 , c2 ;
ifstream fin ("nrcuv.in") ;
ofstream fout ("nrcuv.out") ;
void citire()
{
fin >> n >> m ;
for ( int i = 1 ; i <= m ; i++ )
{
fin >> c1 >> c2 ;
r[c1-'a'][c2-'a'] = true;
r[c2-'a'][c1-'a'] = true;
}
}
int main()
{
int i , j , k , suma = 0 ;
citire();
for ( i = 1 ; i <= 26 ; i++ )
mat[1][i] = 1 ;
for ( i = 2 ; i <= n ; i++ )
{
for ( j = 1 ; j <= 26 ; j++ )
{
for (k = 1; k <= 26; k++)
{
if (r[k-1][j-1] == false)
{
mat[i][j] += mat[i-1][k];
mat[i][j] = mat[i][j] % 104659 ;
}
}
}
}
for ( i = 1 ; i <= 26 ; i++ )
{
suma = suma + mat[n][i] ;
//suma = suma % 104659 ;
}
fout << suma ;
}