Cod sursa(job #196200)

Utilizator ProcopliucProcopliuc Adrian Procopliuc Data 24 iunie 2008 20:32:19
Problema Lista lui Andrei Scor 15
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.87 kb
# include <stdio.h>
long int n,m,i,j,k,l,ok,s1,s2,st;
char a[1000],b[1000],x;
int main ()
{
freopen ("nrcuv.in","r",stdin);
freopen ("nrcuv.out","w",stdout);
scanf ("%li%li",&n,&m);
while (i<m)
{
scanf ("%c",&x);
if (ok==0)
{
if (x!=' ' && x!='\n')
{
a[i]=x;
ok=1;
}
}
else
if (x!=' ' && x!='\n')
{
b[i]=x;
i++;
ok=0;
}
}
for (i=0;i<m-1;i++)
for (j=i+1;j<m;j++)
if ((a[i]==b[j] && b[i]==a[j])|| (a[i]==a[j] && b[i]==b[j]))
{
a[j]='0';
b[j]='0';
}
for (i=0;i<m;i++)
{
if (a[i]==b[i] && a[i]!='0')
l++;
else
if (a[i]!='0')
k++;
}
s1=26;
if (n<=2)
{
for  (i=1;i<n;i++)
{
s1=s1%104659;
s1=s1*26;
}
s2=((n-1)*2*k)+(n-1)*l;
st=(s1+104659)-s2;
printf ("%li",st%104659);
}
else
{
s1=26;
for (i=1;i<n;i++)
{
s1=s1%104659;
if (i==n-2)
s2=s1;
}
s2=s2*n-1;
s2=s2%104659;
st=(s1+104659)-s2;
printf ("%li",st%104659);
}
return 0;
}