AOJ 0556 Tile

問題
http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0556
解法
座標x,yを次のように変換する
nx = min(x, N+1-x)
ny = min(y, N+1-y)
するとタイルの左上の4分の1の範囲だけで考えることができて、
場合分けしなくてよいので楽
あとは適当にmodとる

#include <cstdio>
#include <algorithm>
using namespace std;

int main(){
	int N, K;
	scanf("%d %d", &N, &K);
	for(int i=0; i < K; i++){
		int x, y;
		scanf("%d %d", &x, &y);
		x = min(x, N+1-x);
		y = min(y, N+1-y);
		int t = min(x, y);
		printf("%d\n", (t-1) % 3 + 1);
	}
	return 0;
}