zoukankan      html  css  js  c++  java
  • Codeforces 222B 数组行列交换操作

    /*做完这题发现自己好水,太伤人了。。。。

    不过还是学到一些,如果直接暴力模拟的话肯定是TLM。。

    所以要用虚拟数组来分别保存当前数组的每行没列在初始数组中的位置。。。*/

    #include<cstdio>
    #include<algorithm>
    using namespace std;
    #define max 1000+5
    int a[max][max];
    int r[max],c[max];

    int main()
    {
        int n,m,k;
        while(~scanf("%d%d%d",&n,&m,&k))
        {
            for(int i=1;i<=n;i++)
            {
                for(int j=1;j<=m;j++)
                {
                    scanf("%d",&a[i][j]);
                }
                r[i]=i;
            }
            for(int j=1;j<=m;j++)
            {
                c[j]=j;
            }
            while(k--)
            {
                getchar();
                char cc;
                int x,y;
                scanf("%c %d %d",&cc,&x,&y);
                if(cc=='r')
                {
                   swap(r[x],r[y]);
                   //r[x]^=r[y];r[y]^=r[x];r[x]^=r[y];         //本来想用位操作提点速,泥煤,没想到反而慢了,不知为什么
                }
                else if(cc=='c')
                {
                    swap(c[x],c[y]);
                   //  c[x]^=c[y];c[y]^=c[x];c[x]^=c[y];
                }
                else
                {
                    printf("%d ",a[r[x]][c[y]]);
                }
            }
        }
    }

  • 相关阅读:
    powerful number 小记
    CF573E Bear and Bowling
    Diary 2.0
    【LOJ2540】「PKUWC2018」随机算法
    【Luogu2496】【BZOJ3005】[SDOI2012]体育课
    CF-diary
    【CF1217F】Forced Online Queries Problem
    NOI2019 选做
    Codeforces Round #568 (Div. 2) 选做
    【LOJ2513】「BJOI2018」治疗之雨
  • 原文地址:https://www.cnblogs.com/Stomach-ache/p/3703278.html
Copyright © 2011-2022 走看看