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...1000000.
![](https://i-blog.csdnimg.cn/blog_migrate/a080c1a71474e9563018d471343d1535.gif)
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
Hint
水
Source
Unknown
#include <cstdio> #include <iostream> #include <cmath> #include <string> #include <cstring> #include <algorithm> #include <queue> #include <vector> #include <map> using namespace std; #define ll long long int n, x, y; int main() { while(~scanf("%d", &n)) { for(int i = 0; i<n; i++) { scanf("%d%d", &x, &y); if((x+y)%2 == 0) { if((x == y || x-y == 2) && x%2 == 1)printf("%d\n", x+y-1); else if((x == y || x-y == 2) && x%2 == 0)printf("%d\n", x+y); else if(x != y || x-y != 2) printf("No Number\n"); } else printf("No Number\n"); } } return 0; }