记录编号 152389 评测结果 AAAAAAAAAA
题目名称 螺旋方阵 最终得分 100
用户昵称 Gravatardevil 是否通过 通过
代码语言 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;
}