首页 > 代码库 > codeforces C. Inna and Huge Candy Matrix
codeforces C. Inna and Huge Candy Matrix
http://codeforces.com/problemset/problem/400/C
题意:给你一个n*m的矩阵,然后在矩阵中有p个糖果,给你每个糖果的初始位置,然后经过x次顺时针反转,y次旋转,z次逆时针反转,问最后每个糖果的位置。
思路:推出顺时针反转、旋转、逆时针反转的坐标的变化即可。
1 #include <cstdio> 2 #include <cstring> 3 #include <cmath> 4 #include <iostream> 5 #define maxn 100010 6 #include <algorithm> 7 using namespace std; 8 9 int n,m,x,y,z,k;10 struct node11 {12 int x,y;13 } p[maxn];14 15 int main()16 {17 scanf("%d%d%d%d%d%d",&n,&m,&x,&y,&z,&k);18 for(int i=1; i<=k; i++)19 {20 scanf("%d%d",&p[i].x,&p[i].y);21 }22 x%=4;23 y%=2;24 z%=4;25 for(int i=1; i<=k; i++)26 {27 int nn=n,mm=m,xx,yy;28 for(int j=1; j<=x; j++)29 {30 xx=p[i].x;31 yy=p[i].y;32 p[i].x=yy;33 p[i].y=nn-xx+1;34 swap(nn,mm);35 }36 for(int j=1; j<=y; j++)37 {38 xx=p[i].x;39 yy=p[i].y;40 p[i].x=xx;41 p[i].y=mm-yy+1;42 }43 for(int j=1; j<=z; j++)44 {45 xx=p[i].x;46 yy=p[i].y;47 p[i].x=mm-yy+1;48 p[i].y=xx;49 swap(nn,mm);50 }51 }52 for(int i=1; i<=k; i++)53 {54 printf("%d %d\n",p[i].x,p[i].y);55 }56 return 0;57 }
codeforces C. Inna and Huge Candy Matrix
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。