SDUST - 1437 - Problem 3 矩形回旋 (朗讯杯)

来源:互联网 发布:淘宝二手奢侈品真的吗 编辑:程序博客网 时间:2024/04/29 14:50

矩形回旋

Description

有一个由 n*m(n是行数,m为列数的方格组成的矩形阵列。

现在从左上角开始顺时针旋转走动,遇到矩形边框或者遇到已经过的方格就转向继续,直到走完所有方格。求最后结束点的坐标(横坐标位置从1m,纵坐标从1n)

Input

第一行输入一个数T代表测试数据个数(T<=20)。接下来T行每行两个正整数nm ( 0 < nm < 2^31)

Output

对于每个输入n,m,输出最后的坐标(中间输出一个空格)。每行输出一个结果。

Sample Input

13 3

Sample Output

2 2



#include <bits/stdc++.h>using namespace std;int main(){    ios::sync_with_stdio(false);    int T; cin >> T;    while(T--){        int n, m, r, c; cin >> n >> m;        if(n <= m){            if(n % 2 == 0){                r = n / 2 + 1;                c = n / 2;            }            else{                r = n / 2 + 1;                c = m - r + 1;            }        }        else{            if(m % 2 == 0){                r = m / 2 + 1;                c = m / 2;            }            else{                r = n - m / 2;                c = m / 2 + 1;            }        }        printf("%d %d\n", r, c);    }    return 0;}


0 0
原创粉丝点击