ZOJ Problem Set - 1414||Number Steps
2015-06-30 20:27
239 查看
Number Steps
Time Limit: 2 Seconds Memory Limit: 65536 KB
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.
![](https://oscdn.geek-share.com/Uploads/Images/Content/202004/06/e6a0c0788de6f07e1e4474fedb4fe740.gif)
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...5000.
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
Source: Asia 2000, Tehran (Iran)
Time Limit: 2 Seconds Memory Limit: 65536 KB
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.
![](https://oscdn.geek-share.com/Uploads/Images/Content/202004/06/e6a0c0788de6f07e1e4474fedb4fe740.gif)
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...5000.
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
Source: Asia 2000, Tehran (Iran)
#include <stdio.h> int main() { int n, x, y, result; scanf("%d", &n); while(n--) { scanf("%d %d", &x, &y); if(x == y) { if(x % 2 == 0) result = x + y; else result = x + y - 1; printf("%d\n", result); } else if(x - 2 == y) { if(y % 2 == 0) result = x + y; else result = x + y - 1; printf("%d\n", result); } else printf("No Number\n"); } return 0; }
相关文章推荐
- 黑马day11 脏读数据&解决方案
- LeetCode Sort Colors
- makeBackronym
- 数据库复习9——关系代数和关系演算
- 如何在VIM中保存编辑的只读文件
- REST与SOAP之比较——SOAP篇
- matlab注意事项
- Packet Tracer 6.2新特性
- CSS float属性小解——”浮“生若水
- android模拟器网络设置(局域网)
- Xcode真机调试报错:The application could not be verified.
- 背景音乐功能
- leetcode--217&219&220 Contains Duplicate(重复)I&II&III
- 设计在单链表中删除值相同的多余结点的算法
- 《C++ 并发编程》- 第1章 你好,C++的并发世界
- Log4Net指南
- iOS and OS X Network Programming Cookbook |Performing a network address resolution
- Sobel 边缘检测
- 并行与并发的区别,一瞬间就能理解并记住
- 堆性质 堆排序