1. 程式人生 > >POJ1663 HDU1391 ZOJ1414 UVALive2052 Number Steps【數學規律】

POJ1663 HDU1391 ZOJ1414 UVALive2052 Number Steps【數學規律】

Number Steps
Time Limit: 1000MS Memory Limit: 10000K
Total Submissions: 14299 Accepted: 7775

Description

Starting from point (0,0) on a plane, we have written all non-negative integers 0,1,2, ... as shown in the figure. For example, 1, 2, and 3 has been written at points (1,1), (2,0), and (3, 1) respectively and this pattern has continued.

在這裡插入圖片描述

You are to write a program that reads the coordinates of a point (x, y), and writes the number (if any) that has been written at that point. (x, y) coordinates in the input are in the range 0...5000.

Input

The first line of the input is N, the number of test cases for this problem. In each of the N following lines, there is x, and y representing the coordinates (x, y) of a point.

Output

For each point in the input, write the number written at that point or write No Number if there is none.

Sample Input

3
4 2
6 6
3 4

Sample Output

6
12
No Number

Source

Tehran 2000

問題連結POJ1663 HDU1391 ZOJ1414 UVALive2052 Number Steps
問題簡述:(略)
問題分析
    水題,不解釋。
程式說明:(略)
參考連結

:(略)
題記:(略)

AC的C語言程式如下:

/* POJ1663 HDU1391 ZOJ1414 UVALive2052 Number Steps */

#include <stdio.h>

int main(void)
{
    int t, x, y;
    scanf("%d", &t);
    while(t--) {
        scanf("%d%d", &x, &y);
        if(x == 0 && y == 0)
            printf("0\n");
        else if(x != y && x != y + 2)
            printf("No Number\n");
        else if(x % 2 == 0)
            printf("%d\n", x + y);
        else
            printf("%d\n", x + y - 1);
    }

    return 0;
}