CF 400C - Inna and Huge Candy Matrix
2014-03-16 20:19
323 查看
坐标系的转换- -!
顺时针(x,y)-->(y,n+1-x)-->(n+1-x,m+1-y)-->(m+1-y,x)
有很多细节:
1.xk=yk,yk=n+1-xk这样是错的,xk已经变换了
2.如果又有正旋又有逆旋,要考虑n,m的旋转
3.不能直接选择n,m,不然下个坐标的n,m是错乱的
#include<iostream>
#include<stdio.h>
using namespace std;
int n,m,x,y,z,p,xk,yk;
void trans(int xk,int yk){
int tx,ty,tn=n,tm=m;
if(x){
if(x==1)
tx=yk,ty=n+1-xk;
else if(x==2)
tx=n+1-xk,ty=m+1-yk;
else if(x==3)
tx=m+1-yk,ty=xk;
xk=tx,yk=ty;
if(x%2)//--转了以后行列变化
swap(tn,tm);
}
//printf("%d %d\n",xk,yk);
if(y==1)
yk=tm+1-yk;
//printf("%d %d\n",xk,yk);
if(z){
if(z==1)
tx=tm+1-yk,ty=xk;
else if(z==2)
tx=tn+1-xk,ty=tm+1-yk;
else if(z==3)
tx=yk,ty=tn+1-xk;
xk=tx,yk=ty;
}
printf("%d %d\n",xk,yk);
}
int main(){
cin>>n>>m>>x>>y>>z>>p;
x%=4;y%=2;z%=4;
for(int i=0;i<p;i++){
scanf("%d %d",&xk,&yk);
trans(xk,yk);
}
return 0;
}
顺时针(x,y)-->(y,n+1-x)-->(n+1-x,m+1-y)-->(m+1-y,x)
有很多细节:
1.xk=yk,yk=n+1-xk这样是错的,xk已经变换了
2.如果又有正旋又有逆旋,要考虑n,m的旋转
3.不能直接选择n,m,不然下个坐标的n,m是错乱的
#include<iostream>
#include<stdio.h>
using namespace std;
int n,m,x,y,z,p,xk,yk;
void trans(int xk,int yk){
int tx,ty,tn=n,tm=m;
if(x){
if(x==1)
tx=yk,ty=n+1-xk;
else if(x==2)
tx=n+1-xk,ty=m+1-yk;
else if(x==3)
tx=m+1-yk,ty=xk;
xk=tx,yk=ty;
if(x%2)//--转了以后行列变化
swap(tn,tm);
}
//printf("%d %d\n",xk,yk);
if(y==1)
yk=tm+1-yk;
//printf("%d %d\n",xk,yk);
if(z){
if(z==1)
tx=tm+1-yk,ty=xk;
else if(z==2)
tx=tn+1-xk,ty=tm+1-yk;
else if(z==3)
tx=yk,ty=tn+1-xk;
xk=tx,yk=ty;
}
printf("%d %d\n",xk,yk);
}
int main(){
cin>>n>>m>>x>>y>>z>>p;
x%=4;y%=2;z%=4;
for(int i=0;i<p;i++){
scanf("%d %d",&xk,&yk);
trans(xk,yk);
}
return 0;
}
相关文章推荐
- Codeforces 400C Inna and Huge Candy Matrix(模拟)
- C. Inna and Huge Candy Matrix(cf)
- codeforces 400C - Inna and Huge Candy Matrix(耐心找规律,细节还是要注意的)
- codeforces 400C - Inna and Huge Candy Matrix
- codeforces 400C Inna and Huge Candy Matrix
- Codeforces 400C Inna and Huge Candy Matrix 【模拟】
- Codeforces 400C Inna and Huge Candy Matrix
- (CF)C. Inna and Huge Candy Matrix
- Codeforces 400 C. Inna and Huge Candy Matrix【 Codeforces Round #234 (Div. 2)】
- C - Inna and Huge Candy Matrix
- codeforces round #234B(DIV2) C Inna and Huge Candy Matrix
- codeforces Inna and Huge Candy Matrix
- codeforces 400 C Inna and Huge Candy Matrix【模拟】
- codeforces C. Inna and Huge Candy Matrix
- Codeforces 400B Inna and Huge Candy Matrix(模拟)
- Codeforces 400 C. Inna and Huge Candy Matrix
- cf B Inna and Candy Boxes
- CF 390C:Inna and Candy Boxes
- CF 390D:Inna and Sweet Matrix
- CF 400B - Inna and New Matrix of Candies