Cod sursa(job #1468481)
Utilizator | Data | 6 august 2015 10:49:54 | |
---|---|---|---|
Problema | Lista lui Andrei | Scor | 35 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.61 kb |
#include <fstream>
#include <cstring>
using namespace std;
ifstream fin("nrcuv.in");
ofstream fout("nrcuv.out");
int n, sol, mat[30][30], m;
int back_track(int l, int last)
{
int sum=0;
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;
}
return sum;
}
int main()
{
fin>>n>>m;
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;
}