题目描述
从平面上的点(0,0)开始,我们在坐标轴上标记了所有的非负整数0,1,2,…,如图所示。 现在,分别在点(1,1),(2,0)和(3,1)处写入1,2和3,以此类推。
您将编写一个程序来读取点(x,y)的坐标,并输出在该点写入的数字(如果有)。输入中的(x,y)坐标在0 … 5000范围内。
输入
输入的第一行是N,即此问题的测试用例数。接下来是N行,每一行中,输入一个x,和一个y,表示点的坐标(x,y)。
输出
对于输入中的每个点,写下在该点写入的数字,如果没有,则写入No Number。
样例输入
3
4 2
6 6
3 4
样例输出
6
12
No Number
唯一能A的水题…
#include <stdio.h>
int main() {
int n;
scanf("%d", &n);
while (n--) {
int x, y;
scanf("%d%d", &x, &y);
if (x == y) {
int a[5000];
a[0] = 0;
for (int i = 1; i <= x; i++) {
if (i % 2 != 0) {
a[i] = a[i - 1] + 1;
} else {
a[i] = a[i - 1] + 3;
}
}
printf("%d\n", a[x]);
} else if (y == x - 2) {
int b[5000];
b[2] = 2;
for (int i = 3; i <= x; i++) {
if (i % 2 != 0) {
b[i] = b[i - 1] + 1;
} else {
b[i] = b[i - 1] + 3;
}
}
printf("%d\n", b[x]);
} else {
printf("No Number\n");
}
}
}