zoukankan      html  css  js  c++  java
  • 洛谷P4924 魔法少女小Scarlet

    题目

    https://www.luogu.com.cn/problem/P4924

    思路

    水题,直接模拟即可,纯粹是因为二小姐太可爱了才去做这道题的。
    二小姐卡哇伊!!!(震声)

    然而手癌晚期的我开不了红魔乡extra

    代码

    #include<cstdlib>
    #include<algorithm>
    using namespace std;
    int a[501][501];
    void rightrotate(int x,int y,int r){
        int i,j,t=0,x1,x2,y1,y2,k;
        for(i=x-r;i<x;++i){
            for(j=y-r+t;j<y+r-t;++j){
                x1=i;y1=j;
                for(k=1;k<=3;k++){
                    x2=x-(y1-y);y2=y+(x1-x);
                    swap(a[x1][y1],a[x2][y2]);
                    x1=x2;y1=y2;
                }
            }
            t++;
        }
    }
    void leftrotate(int x,int y,int r){
        int i,j,t=0,x1,x2,y1,y2,k;
        for(i=x-r;i<x;++i){
            for(j=y-r+t;j<y+r-t;++j){
                x1=i;y1=j;
                for(k=1;k<=3;k++){
                    x2=x+(y1-y);y2=y-(x1-x);
                    swap(a[x1][y1],a[x2][y2]);
                    x1=x2;y1=y2;
                }
            }
            t++;
        }
    }
    int main(){
        int n,m,i,j,x,y,r,z;
        scanf("%d%d",&n,&m);
        for(i=1;i<=n;++i)
            for(j=1;j<=n;++j)
                a[i][j]=(i-1)*n+j;
        for(i=1;i<=m;i++){
            scanf("%d%d%d%d",&x,&y,&r,&z);
            if(z) leftrotate(x,y,r);
            else rightrotate(x,y,r);
        }
        for(i=1;i<=n;++i){
            for(j=1;j<=n;++j)
                printf("%d ",a[i][j]);
            printf("
    ");
        }
    //  system("pause");
        return 0;
    }
  • 相关阅读:
    Python挂载杂记
    Python Log的使用, 模块化
    Python实现图片长宽比例缩放和填充
    系统监控与硬盘
    linux基础三
    linux基础二
    linux基础一
    网络基础
    操作系统
    计算机硬件基础
  • 原文地址:https://www.cnblogs.com/landmine-sweeper/p/14036454.html
Copyright © 2011-2022 走看看