文章目录
数字台阶
时限:1000ms 内存限制:10000K 总时限:3000ms
描述:
从平面坐标的(0,0)点开始,我们可以如图所示写出所有的非负的整数0,1,2,。。。。。。。
例如1,2,和3分别写在(1,1),(2,0),和(3,1)点,然后我们可以按这种格式继续写出所有的数字:
现在需要你写出一个程序读入坐标点(x,y),判断该点出的数字为多少(如果有点的话),(x,y)均为0到5000之间的数字。
输入:
输入的第一行是数字N(N<1000), 表示为测试数据的个数。接下来将有N有测试数据,每行将有
两个数字,分别代表x和y,既坐标(x,y)的位置。
输出:
对于每一行输入的x和y,输出该点的数字,每行一个。如果该点没有数字,打印 No Number.
输入样例:
3
4 2
6 6
3 4
输出样例:
6
12
No Number
提示:
来源:
2006西北工业大学程序设计竞赛决赛题E
代码:
- #include <stdio.h>
- #include <stdlib.h>
- int main()
- {
- int n;
- int i,j;
- scanf("%d",&n);
- int **a;
- a=(int **)malloc(n*sizeof(int *));
- for(i=0; i<n; i++)
- {
- a[i]=(int *)malloc(2*sizeof(int));
- }
- for(i=0; i<n; i++)
- {
- for(j=0; j<2; j++)
- {
- scanf("%d",&a[i][j]);
- }
- }
- for(i=0; i<n; i++)
- {
- if(a[i][0]%2==0&&a[i][1]%2==0)
- printf("%d\n",a[i][0]+a[i][1]);
- else if(a[i][0]%2!=0&&a[i][1]%2!=0)
- printf("%d\n",a[i][0]+a[i][1]-1);
- else
- printf("No Number\n");
- }
- return 0;
- }