Pagini recente » Cod sursa (job #2796542) | Cod sursa (job #1362616) | Cod sursa (job #1798038) | Cod sursa (job #275959) | Cod sursa (job #743436)
Cod sursa(job #743436)
#include <cstdio>
using namespace std;
char x[2500], l1, l2;
bool luat[256][256];
int n, m, k, contor;
bool verifica()
{
int i;
for(i=1; i<n; i++)
{
if(luat[(int)x[i]][(int)x[i+1]] || luat[(int)x[i+1]][(int)x[i]])
return false;
}
return true;
}
void back(int k)
{
int i;
for(i='a'; i<='z'; i++)
{
x[k]=i;
if(k==n)
{
if(verifica())
{
contor++;
contor%=104659;
}
}
else back(k+1);
}
}
int main()
{
freopen("nrcuv.in","r",stdin);
freopen("nrcuv.out","w",stdout);
scanf("%d", &n);
scanf("%d", &m);
int i;
char a;
scanf("%c", &a);
for(i=1; i<=m; i++)
{
scanf("%c %c\n", &l1, &l2);
luat[(int)l1][(int)l2]=true;
luat[(int)l2][(int)l1]=true;
}
back(1);
printf("%d", contor);
}