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.
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...10000.
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.
Example
Input: 3 4 2 6 6 3 4 Output: 6 12 No Number
本程序优雅的地方就是充分考虑好各种情况,然后合并起来,代码就简洁了
#include <iostream>
#include <vector>
#include <string>
using namespace std;
void NumberSteps()
{
int T = 0;
cin>>T;
int x = 0, y = 0;
while (T--)
{
cin>>x>>y;
if (x != y && y+2 != x) cout<<"No Number"<<endl;
else
{
if (x % 2) cout<<x+y-1<<endl;
else cout<<x+y<<endl;
}
}
}
int main()
{
NumberSteps();
return 0;
}
程序坐标点数解析与输出
本博客介绍了一个算法,用于解析输入坐标并输出对应坐标点上的数字或提示无数字。程序通过输入测试案例数量及坐标值,实现对点位置数字的准确查找,适用于平面坐标系内的数字排列问题。
127

被折叠的 条评论
为什么被折叠?



