欢迎访问==> 【考研OR保研】机试题
题目描述
如下图所示,我们在一个平面上建立了一个数字台阶,从点 $(0,0)$ 开始,我们在平面中依次标注了 $0,1,2…$ 等所有非负整数。
例如,在点 $(1,1),(2,0),(3,1)$ 处,我们依次标注了 $1,2,3$。
现在,给定一个若干坐标,请你判断,该坐标上是否标有数字,以及标有什么数字。
输入格式
第一行包含整数 $N$。表示询问坐标数量。
接下来 $N$ 行,每行包含两个整数 $x,y$,表示询问坐标为 $(x,y)$。
输出格式
对于每个询问,输出一行结果。
如果询问坐标上存在数字,则输出该数字,否则输出 No Number
。
数据范围
$1 \\le N \\le 20000$,
$0 \\le x,y \\le 5000$
输入样例:
3
4 2
6 6
3 4
输出样例:
6
12
No Number
C++ 代码
#include <bits/stdc++.h>
using namespace std;
int n, x, y;
int main()
{
cin >> n;
for(int i = 0; i < n; i ++)
{
cin >> x >> y;
if(y == x)
{
if(y % 2 == 0) cout << 2 * y << endl;
else cout << 2 * y - 1 << endl;
}
else if(y == x - 2)
{
if(y % 2 == 0) cout << 2 * y + 2 << endl;
else cout << 2 * y + 1 << endl;
}
else puts("No Number");
}
return 0;
}