SDNU1332 矩阵交换


1)只交换行或列的标号。

#include <iostream>
#include <stdio.h>
#include <string>
#include <string.h>

using namespace std;
//int x[110][110];
//int y[110][110];
int x_bian[110];
int y_bian[110];
int matrix[110][110];
struct Node{
    int one,sec;
    string name;
}node[20010];
int main()
{
    int n,k;
        cin>>n;
        cin>>k;
        int g;
        for(int i=1;i<=n;i++){
            for(int j=1;j<=n;j++){
                cin>>matrix[i][j];
                //x[i][j]=matrix[i][j];
            }
        }
        //cout<<"1111"<<endl;
        for(int i=1;i<=n;i++){
            x_bian[i]=i;
            y_bian[i]=i;
        }
        string name;
        int xx;
        int yy;
        int endd=-1;
        for(int i=0;i<k;i++){
            cin>>node[i].name>>node[i].one>>node[i].sec;
            if(node[i].name=="Ask") endd=i;
        }
        for(int i=0;i<k;i++){
            if(node[i].name=="Ask"){
                cout<<matrix[x_bian[node[i].one]][y_bian[node[i].sec]];
                if(i!=endd){
                    cout<<endl;
                }
            }
            else if(node[i].name=="swapR"){
                int x_temp=x_bian[node[i].one];
                int x_temp2=x_bian[node[i].sec];
                x_bian[node[i].one]=x_temp2;
                x_bian[node[i].sec]=x_temp;
            }
            else if(node[i].name=="swapC"){
                int y_temp=y_bian[node[i].one];
                int y_temp2=y_bian[node[i].sec];
                y_bian[node[i].one]=y_temp2;
                y_bian[node[i].sec]=y_temp;
            }
            //if(i==k-1){
                //cout<<endl;
            //}
        }

    return 0;
}


2)

Description

给定一个N*N的矩阵,支持3种操作:

swapR a b:交换第a行和第b行的所有元素;

swapC a b:交换第a列和第b列的所有元素;

Ask a b:询问第a行第b列元素的值

Input

第一行N,K,为矩阵大小和操作个数

接下来N行每行N个正整数代表矩阵元素

接下来K行每行一个操作,格式如题目所述。

1 <= N <= 100; 1 <= K <= 20000;

Output

对于每个询问,输出一行作为答案。

Sample Input

2 30 12 3Ask 2 2swapR 1 2Ask 1 1

Sample Output

32

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/a272846945/article/details/51541027
个人分类: ACM 水题
上一篇HDU1205 鸽巢原理/找规律
下一篇HDU1087 / SDNU1330 求上升序列最大和
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭