题目不难,但是测试用例中存在一组"特殊输入",由于我写的代码开始是用 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");
    }
}