Pagini recente » Cod sursa (job #420993) | Cod sursa (job #3206513) | Cod sursa (job #1380290) | Cod sursa (job #2651278) | Cod sursa (job #1468500)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("nrcuv.in");
ofstream fout("nrcuv.out");
int n, sol, mat[30][30], m;
int viz[30][1024];
int back_track(int l, int last)
{
int sum=0;
if (viz[last][l] != -1)
return viz[last][l];
if(l == n)
return 1;
for(int i=1; i <= 26; ++i)
{
if(mat[last][i] == 0)
sum = (sum + back_track(l+1, i)) % 104659;
}
viz[last][l] = sum;
return sum;
}
int main()
{
fin>>n>>m;
memset(viz, -1, sizeof(viz));
for(int i=1; i <= m; ++i)
{
char x, z, q;
fin>>x>>z;
mat[x-'a'+1][z-'a'+1] = -1;
mat[z-'a'+1][x-'a'+1] = -1;
}
fout<<back_track(0, 29);
return 0;
}