SRM303 div1 easy (div2 medium)
座標変換でこんがらがる
string getPosition(int N) { int dir[4][2] = { {0, -1}, {-1, 0}, {0, 1}, {1, 0} }; int index = ((int)sqrt(N)-1)/2; int num = (index*2+1)*(index*2+1); int start = index+1; int x = start; int y = start; for(int i = 0; i < N-num; i++) { x += dir[i/(start*2)][0]; y += dir[i/(start*2)][1]; } if(N-num == 0) { x = start-1; y = start-1; } char ans[22]; sprintf(ans, "(%d,%d)", -y, x); return string(ans); }