Pagini recente » Cod sursa (job #2492415) | Istoria paginii runda/simulare-cartita-07/clasament | Cod sursa (job #1901116) | Cod sursa (job #491090) | Cod sursa (job #2518944)
#include <fstream>
using namespace std;
ifstream fin ("nrcuv.in");
ofstream fout ("nrcuv.out");
int n, m, litere[30][30], nr;
char v[1010];
bool OK (int l) {
if (litere[ v[l]-96 ][ v[l-1]-96 ] || litere[ v[l-1]-96 ][ v[l]-96 ] )
return false;
return true;
}
void bkt (int l) {
for (char i = 'a'; i <= 'z'; i++) {
v[l] = i;
if (OK(l)) {
if (l == n) {
nr++;
nr %= 104659;
}
else
bkt (l+1);
}
}
}
int main()
{
char x, y;
fin >> n >> m;
for (int i = 1; i <= m; i++) {
fin >> x >> y;
litere[x-96][y-96] = 1;
litere[y-96][x-96] = 1;
}
v[0] = 96;
bkt(1);
fout << nr;
return 0;
}