这题,简单的找规律。
上面坐标位置有数的,输出该数,没有的输出No Number
按照下面一行来找规律,(x >= 2)上面一行的是下面一行 + 2,下面一行的规律为横坐标为偶数x时,横坐标x上的两个数为 x / 4 * 4 - 2,x / 4 * 4 - 2 + 2。
为奇数时,两个数为x / 4 * 4 - 2 + 1, x / 4 * 4 - 2 + 1 + 2。
然后条件 x == y || x - y == 2时,才有数,其余都没有。
下面是AC的代码:
#include <iostream> using namespace std; int main() { int x, y, n; cin >> n; while(n--) { cin >> x >> y; if(x < 2) //特殊情况 { if(x == 1 && y == 1) cout << 1 << endl; else if(x == 0 && y == 0) cout << 0 << endl; else cout << "No Number" << endl; } else { if(!(x == y || x - y == 2)) cout << "No Number" << endl; else { if(x % 2) { int temp = x / 2 * 4; temp = temp - 2 + 1; if(x == y) cout << temp + 2 << endl; else if(x - y == 2) cout << temp << endl; else cout << "No Number" << endl; } else { int temp = x / 2 * 4; temp = temp - 2; if(x == y) cout << temp + 2 << endl; else if(x - y == 2) cout << temp << endl; else cout << "No Number" << endl; } } } } return 0; }
原文地址:http://blog.csdn.net/qq_25425023/article/details/45918349