Pagini recente » Cod sursa (job #1844873) | Cod sursa (job #2180849) | Cod sursa (job #3208536) | Cod sursa (job #2051832) | Cod sursa (job #710317)
Cod sursa(job #710317)
#include<cstdio>
#include<cmath>
using namespace std;
int v[1000],nrsol,n,M,nrrest,m[27][27];
void bak(int l)
{
if(l==1)
for(int k=1;k<=26;k++)
{
v[l]=k;
bak(l+1);
}
else
if(l<=n)
for(int k=1;k<=26;k++)
{
v[l]=k;
if(m[v[l-1]][v[l]]==0)
bak(l+1);
}
else
{
nrsol++;
if(nrsol==104659)
nrsol=0;
}
}
int main()
{
freopen("nrcuv.in","r",stdin);
freopen("nrcuv.out","w",stdout);
//printf("%d",'z'-'a'+1);
scanf("%d %d",&n,&M);
char a,b,aux;
int x,y;
for(int k=1;k<=M;k++)
{
scanf("%c",&aux);
scanf("%c %c",&a,&b);
x=a-'a'+1;
y=b-'a'+1;
if(m[x][y]==0)
{
m[x][y]=1;
m[y][x]=1;
if(x==y)
nrrest++;
else
nrrest=nrrest+2;
}
}
if(M!=0)
{
bak(1);
printf("%d\n",nrsol);
}
else
{
double x;
double y=n,f=26;
x=pow(f,y);
printf("%.0f\n",x);
}
return 0;
}