题目不难,但是测试用例中存在一组"特殊输入",由于我写的代码开始是用 if(t=='r')...else() 来判断行变换和列变换,因此提交后有一组测试没通过,看了没通过的数据恍然大悟,判断改成 if(t=='r')...if(t=='c') 再次提交就ac了。特殊输入如下截图:
最终通过代码:
#include<stdio.h>
int main(){
int n,m,a[10][10],k,p,q,i,j,s;
char t;
scanf("%d %d",&n,&m);
for(i=0;i<n;i++)
for(j=0;j<m;j++)
scanf("%d",&a[i][j]);
scanf("%d",&k);
for(s=0;s<k;s++){
scanf(" %c %d %d",&t,&p,&q);
if(t=='r')
for(j=0;j<m;j++){
a[p-1][j] += a[q-1][j];
a[q-1][j] = a[p-1][j]-a[q-1][j];
a[p-1][j] -= a[q-1][j];
}
if(t=='c')
for(i=0;i<n;i++){
a[i][p-1] += a[i][q-1];
a[i][q-1] = a[i][p-1]-a[i][q-1];
a[i][p-1] -= a[i][q-1];
}
}
for(i=0;i<n;i++){
for(j=0;j<m;j++)
printf("%d ",a[i][j]);
printf("\n");
}
}
京公网安备 11010502036488号