codeforces 405C Unusual Product 题目链接:http://codeforces.com/problemset/problem/405/C
题目大意:矩阵相乘(自乘,也就是二次方)。一个二进制矩阵(仅含0、1),可翻转行列(1、0互换)。指令1翻转行,2翻转列,3计算自乘。
题目分析:只有一句,每一次翻转都是把结果直接翻转。
code:
#include<stdio.h>
int main()
{
int i,j,n,m,flag;
bool a[1010][1010],ans;
while(scanf("%d",&n)!=EOF)
{
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
scanf("%d",&flag);
a[i][j]=flag;
}
}
for(flag=i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
flag+=a[i][j]*a[j][i];
}
}
ans=flag%2;
scanf("%d",&m);
while(m--)
{
scanf("%d",&flag);
if(flag!=3)
{
scanf("%d",&flag);
ans=!ans;
}
else printf("%d",ans);
}
putchar('\n');
}
return 0;
}
PS:规律而已……