Pagini recente » Clasamentul arhivei de probleme | Cod sursa (job #2344528) | Cod sursa (job #3127458) | Cod sursa (job #701600) | Cod sursa (job #921555)
Cod sursa(job #921555)
#include<cstdio>
#define M 9901
int n,i,a[21][21],l,k,j,s[21],r,p,t;
char e[150];
int main()
{freopen("matperm.in","r",stdin),freopen("matperm.out","w",stdout);
scanf("%d\n",&n);
for(i=1;i<=n;i++)
{gets(e);
for(j=1,k=0;e[k];k++)
if(e[k]==' ')
j++;
else
a[i][j]=a[i][j]*10+(e[k]-'0');}
for(k=1;k<=n;k++)
{l=1,s[l]=0;
while(l)
{s[l]++;
if(s[l]<=n-k+l)
if(l==k)
{for(p=i=1;i<=n;i++)
{for(t=0,j=1;j<=l;j++)
t+=a[i][s[j]];
t=t-M*(t/M),p=p*t-M*(p*t/M);}
if(l&1)
p=M-p;
r+=p;
if(r>=M)
r-=M;}
else
l++,s[l]=s[l-1];
else
l--;}}
if(n&1)
r=M-r;
printf("%d",r);
return 0;}