Magic Square

题目链接

[[HDU 6401] 2018 Multi-University Training Contest 8--1005 Magic Square](http://acm.hdu.edu.cn/showproblem.php?pid=6401]

题解

简单题。题意大概是给定一个矩阵,要求你做出一些旋转操作后输出矩阵。
签到题,直接输出即可。

代码

#include<cstdio>
#include<iostream>
#include<vector>
#include<queue>
#include<cstring>
#include<algorithm>
#include<set>
using namespace std;
typedef pair<int,int>P;
const int maxn=1e5+50;
string s[5];
string temp;
void zhuanc(char&lt,char&rt,char&ld,char&rd){
    char temp;
    temp=lt;
    lt=ld;
    ld=rd;
    rd=rt;
    rt=temp;
}
void zhuanr(char&lt,char&rt,char&ld,char&rd){
    char temp;
    temp=lt;
    lt=rt;
    rt=rd;
    rd=ld;
    ld=temp;
}
int main() {
    int n,t;
    for (cin>>t;t;t--){
        cin>>n;
        for (int i=0;i<=2;i++){
            cin>>s[i];
        }
        for (int i=1;i<=n;i++){
            cin>>temp;
            if (temp[0]=='1'){
                temp[1]=='C'?zhuanc(s[0][0],s[0][1],s[1][0],s[1][1]):zhuanr(s[0][0],s[0][1],s[1][0],s[1][1]);
            }
            else if (temp[0]=='2'){
                temp[1]=='C'?zhuanc(s[0][1],s[0][2],s[1][1],s[1][2]):zhuanr(s[0][1],s[0][2],s[1][1],s[1][2]);
            }
            else if (temp[0]=='3'){
                temp[1]=='C'?zhuanc(s[1][0],s[1][1],s[2][0],s[2][1]):zhuanr(s[1][0],s[1][1],s[2][0],s[2][1]);
            }
            if (temp[0]=='4'){
                temp[1]=='C'?zhuanc(s[1][1],s[1][2],s[2][1],s[2][2]):zhuanr(s[1][1],s[1][2],s[2][1],s[2][2]);
            }
        }
        for (int i=0;i<=2;i++){
            cout<<s[i]<<'\n';
        }

    }
    return 0;
}

标签: implementation

添加新评论