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



    #include<iostream> using namespace std; int n,m; int map[505][505]; void show(){//显示 for(int i=0;i<n*n;i++){ cout<<map[i/n][i%n]; if(i%n<n-1)cout<<" "; if(i%n==n-1)cout<<endl; } } int main(){ int i,x,y,r,z; cin>>n>>m; int s=n*n; for(i=0;i<=s;i++){//赋值 map[i/n][i%n]=i+1; } for(int j=0;j<m;j++){ cin>>y>>x>>r>>z;x--;y--; int s=(r+1)*r,temp;//顺/逆时针旋转,一个数总共牵扯到4个数,所以就对左上的1/4区域的数处理即可 for(i=0;i<s;i++){ int xx=x-r+i%(r+1),yy=y-r+i/(r+1);//计算出左上角的位置 temp=map[yy][xx];//记录当前数字 if(z==0){//方向 int tt=3;while(tt--){ map[yy][xx]=map[y+(x-xx)][x-(y-yy)]; int ttemp=yy;//将3个其余数字进行旋转并赋值 yy=y+(x-xx);xx=x-(y-ttemp); }map[yy][xx]=temp;//将记录的数组保存到旋转后的位置 }else{ int tt=3;while(tt--){ map[yy][xx]=map[y-(x-xx)][x+(y-yy)]; int ttemp=yy;//同上 yy=y-(x-xx);xx=x+(y-ttemp); }map[yy][xx]=temp; } } } show(); return 0; }

    题目地址:https://www.luogu.com.cn/problem/P4924

  • 相关阅读:
    《架构之美》读后感(二)
    《架构之美》读后感(一)
    《代码大全2》阅读笔记03
    《代码大全2》阅读笔记02
    《代码大全2》阅读笔记01
    学习进度报告(十四)
    软件方法阅读笔记03
    第二讲
    1.26 十讲第一讲
    1.23
  • 原文地址:https://www.cnblogs.com/forwhat00/p/13210199.html
Copyright © 2011-2022 走看看