记录编号 98499 评测结果 AAAAAAAAAA
题目名称 螺旋方阵 最终得分 100
用户昵称 GravatarChenyao2333 是否通过 通过
代码语言 C++ 运行时间 0.016 s
提交时间 2014-04-23 14:43:09 内存使用 0.31 MiB
显示代码纯文本
#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;
	int cnt=0;
	for(int k=1;k<=n;k+=2){
		cnt=k;
		num=k*k;
		if(m<=k*k)break;
		x-=1;y+=1;
	}
	for(int k=0;k<4;k++){
		for(int i=0;i<cnt-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;
}