现在的位置: 首页 > 综合 > 正文

数字台阶 代码语言:c

2012年11月09日 ⁄ 综合 ⁄ 共 779字 ⁄ 字号 评论关闭
文章目录

数字台阶

时限: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

 

代码:

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. int main()
  4. {
  5. int n;
  6. int i,j;
  7. scanf("%d",&n);
  8. int **a;
  9. a=(int **)malloc(n*sizeof(int *));
  10. for(i=0; i<n; i++)
  11. {
  12. a[i]=(int *)malloc(2*sizeof(int));
  13. }
  14. for(i=0; i<n; i++)
  15. {
  16. for(j=0; j<2; j++)
  17. {
  18. scanf("%d",&a[i][j]);
  19. }
  20. }
  21. for(i=0; i<n; i++)
  22. {
  23. if(a[i][0]%2==0&&a[i][1]%2==0)
  24. printf("%d\n",a[i][0]+a[i][1]);
  25. else if(a[i][0]%2!=0&&a[i][1]%2!=0)
  26. printf("%d\n",a[i][0]+a[i][1]-1);
  27. else
  28. printf("No Number\n");
  29. }
  30. return 0;
  31. }

抱歉!评论已关闭.