This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include<cstdio>
#include<algorithm>
#include<vector>
#include<cmath>
int pl[4][4]={0,1,2,3,1,2,3,0,2,3,0,1,3,0,1,2},xo[4][4]={0,1,2,3,1,0,3,2,2,3,0,1,3,2,1,0};
int a,b,i,j,U,p,q,v[19],x[444],y[444],z[444],ch[444],T,fl[19],ss[19];
main()
{
scanf("%d%d",&a,&b);
for(i=0;i<a;i++)
{
scanf("%d",&fl[i]);
}
for(i=0;i<b;i++)
{
scanf("%d%d%d%d",&ch[i],&x[i],&y[i],&z[i]);
}
T=1;
for(i=0;i<a;i++)T*=3;
for(i=0;i<T;i++)
{
U=i;
for(j=0;j<a;j++)
{
p=U%3-1;
q=0;
if(fl[j]==q)q++;
for(;p>=0;p--)
{
q++;
if(fl[j]==q)q++;
}
v[j]=q;
U/=3;
}
for(j=0;j<b;j++)
{
if(ch[j]==0)v[x[j]]=pl[v[y[j]]][v[z[j]]];
else if(ch[j]==1)v[x[j]]=xo[v[y[j]]][v[z[j]]];
else if(ch[j]==2)v[x[j]]=pl[v[y[j]]][z[j]];
else v[x[j]]=xo[v[y[j]]][z[j]];
}
for(j=0;j<a;j++)ss[j]+=v[j];
}
for(i=0;i<a;i++)printf("%d ",ss[i]%4);
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |