题解 | #矩阵交换#

矩阵交换

http://www.nowcoder.com/practice/ec44d4ff8c794b2f9205bdddbde96817

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

相关推荐

09-04 21:52
南京大学 Java
牛马人的牛马人生:果然是华五的神
点赞 评论 收藏
分享
评论
3
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务