PersonalCorpus 版 (精华区)
1164422 Big Guava ... 10016 Accepted
0:00.320 444 2002/10/12 13:53:51.738
void main()
{
#ifndef ONLINE_JUDGE
freopen("c:\\0acm\\uva\\i10016","r",stdin);
freopen("c:\\0acm\\uva\\o10016","w",stdout);
#endif
int m,i,j,k,t, map[101][101],n,a,b,c;
char s[100];
scanf("%d\n",&m);
while (m--) {
scanf("%d\n",&n);
for (i=0;i<n;i++) for (j=0;j<n;j++) scanf("%d",&map[i][j]);
for (i=0;i<(n+1)/2;i++) {
j=n-i-1;
scanf("%d",&t);
while (t--) {
scanf("%d",&k);
if (k==1) {
for (a=i;a<=j;a++) {
c=map[i][a];map[i][a]=map[j][a];map[j][a]=c;
}
for (a=i+1;a<=(i+j)/2;a++) {
c=map[a][i];map[a][i]=map[n-1-a][i];
map[n-1-a][i]=c;
c=map[a][j];map[a][j]=map[n-1-a][j];
map[n-1-a][j]=c;
}
continue;
}
if (k==2) {
for (a=i;a<=j;a++) {
c=map[a][i];map[a][i]=map[a][j];map[a][j]=c;
}
for (a=i+1;a<=(i+j)/2;a++) {
c=map[i][a];map[i][a]=map[i][n-1-a];
map[i][n-1-a]=c;
c=map[j][a];map[j][a]=map[j][n-1-a];
map[j][n-1-a]=c;
}
continue;
}
if (k==3) {
for (a=i;a<=j;a++) {
c=map[i][a];map[i][a]=map[a][i];map[a][i]=c;
c=map[a][j];map[a][j]=map[j][a];map[j][a]=c;
}
c=map[i][j];map[i][j]=map[j][i];map[j][i]=c;
continue;
}
if (k==4) {
for (a=i;a<=j;a++) {
c=map[i][a];map[i][a]=map[n-1-a][n-1-i];
map[n-1-a][n-1-i]=c;
c=map[a][i];map[a][i]=map[n-1-i][n-1-a];
map[n-1-i][n-1-a]=c;
}
c=map[i][i];map[i][i]=map[j][j];map[j][j]=c;
}
}
}
for (i=0;i<n;i++) {
printf("%d",map[i][0]);
for (j=1;j<n;j++) printf(" %d",map[i][j]);
printf("\n");
}
}
}
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:22.474毫秒