记录编号 |
152389 |
评测结果 |
AAAAAAAAAA |
题目名称 |
螺旋方阵 |
最终得分 |
100 |
用户昵称 |
devil |
是否通过 |
通过 |
代码语言 |
C++ |
运行时间 |
0.007 s |
提交时间 |
2015-03-14 10:36:11 |
内存使用 |
0.31 MiB |
显示代码纯文本
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cmath>
#include <cstring>
#include <sstream>
#include <algorithm>
using namespace std;
typedef long long ll;
const int MAXN=100010;
int key[20][20];
int main()
{
freopen("spiral.in","r",stdin);
freopen("spiral.out","w",stdout);
int T;scanf("%d",&T);
while(T>0)
{
T--;
int n,m;scanf("%d%d",&n,&m);
int sum=1;int symbol=1;int d=2;
int bx=0,by=0;
while(sum+d<=m)
{
sum+=d;
by+=(symbol*d/2);
bx+=(symbol*d/2);
d+=2;symbol*=(-1);
}
int t=m-sum;
if(t<=d/2) by+=(symbol*t);
else
{
by+=(symbol*d/2);
bx+=(symbol*(t-d/2));
}
int x,y;
if(n%2==1) {x=y=(n+1)/2;}
else {x=y=n/2;}
printf("%d %d\n",x+bx,y+by);
}
return 0;
}