| 比赛 | 20140423 | 评测结果 | WWWWWWWWWW | 
    | 题目名称 | 螺旋方阵 | 最终得分 | 0 | 
    | 用户昵称 | Chenyao2333 | 运行时间 | 0.005 s | 
    | 代码语言 | C++ | 内存使用 | 0.31 MiB | 
    | 提交时间 | 2014-04-23 10:23:15 | 
显示代码纯文本
#include<stdio.h>
#include<iostream>
using namespace std;
int op_x[]={0,1,0,-1};
int op_y[]={-1,0,1,0};
void solve(int n,int m){
	int x=n/2+1;
	int y=n/2+1;
	int num;
	for(int k=1;k<=n;k+=2){
		num=k*k;
		if(m<=k*k)break;
		x-=1;y+=1;
	}
	for(int k=0;k<4;k++){
		for(int i=0;i<n-1;i++){
			if(num==m){
				printf("%d %d\n",x,y);
				return;
			}
			num--;
			x=x+op_x[k];
			y=y+op_y[k];
		}
	}
}
int main(){
	//freopen("in.txt","r",stdin);
	freopen("spiral.in","r",stdin);
	freopen("spiral.out","w",stdout);
	int T;scanf("%d",&T);
	while(T-->0){
		int n,m;
		scanf("%d %d",&n,&m);
		solve(n,m);
	}
	return 0;
}