您的位置:首页 > 其它

codeforces round #234B(DIV2) C Inna and Huge Candy Matrix

2014-03-09 22:08 453 查看
#include <iostream>
#include <vector>
#include <algorithm>
#include <utility>

using namespace std;

typedef pair<int,int> Point;

int n,m;

void clockwise_rotate(Point &cell, int x){
for(int i = 0; i < x; ++ i){
int tmp = cell.first;
cell.first = cell.second;
cell.second = n-tmp + 1;
swap(n,m);
}
}

void horizontal_rotate(Point &cell, int y){
if(y==1) cell.second = m - cell.second +1;
}

int main(){
int x,y,z,p;
cin >> n >> m >> x >> y >> z >> p;
x %=4; y %=2; z %= 4;
int tmp_n = n,tmp_m = m;
for(int i = 0 ; i <  p; ++ i){
n = tmp_n; m =tmp_m;
int cellX,cellY;
cin >> cellX >> cellY;
Point cell = make_pair(cellX,cellY);
clockwise_rotate(cell,x);
horizontal_rotate(cell,y);
clockwise_rotate(cell,4-z);
cout<<cell.first<<" "<<cell.second<<endl;
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: