矩形回旋
Time Limit: 1000MS Memory limit: 65536K
题目描述
有一个由 n*m(n是行数,m为列数) 的方格组成的矩形阵列。
现在从左上角开始顺时针旋转走动,遇到矩形边框或者遇到已经过的方格就转向继续,直到走完所有方格。求最后结束点的坐标(横坐标位置从1到m,纵坐标从1到n)。
输入
第一行输入一个数T代表测试数据个数(T<=20)。接下来T行每行两个正整数n,m ( 0 < n,m < 2^31)。
输出
对于每个输入n,m,输出最后的坐标(中间输出一个空格)。每行输出一个结果。
示例输入
1 3 3
示例输出
2 2
提示
#include<stdio.h>
int a,b,c;
int x,y;
int main()
{
scanf("%d",&c);
for(int i=0; i<c; i++)
{
scanf("%d%d",&a,&b);
if(a<=b)
{
x=a/2+1;
if(a%2==1)
{
y=b-x+1;
}
else
{
y=a-x+1;
}
}
else
{
y=(b+1)/2;
if(b%2==1)
{
x=a-y+1;
}
else
{
x=b-y+1;
}
}
printf("%d %d\n",x,y);
}
return 0;
}