题解 SP1112 【NSTEPS

明显图中数字组成组成了两条线,一条线上的数字满足y=x,另一条满足y=x-2。所以只要x!=y且x!=y+2就输出无解就行了。再看线上的数字,我们可以把(a_{n})(a_{n+1})分为一组,可以看出(a_{n}+1=a_{n+1},a_{n}+4=a_{n+2})(n为偶数)。
于是就可以很简单地推出两条线的公式了。

左线:(k=(x/2)*4+x\%2)

右线:(k=(y/2)*4+2+y\%2)

然后就可以写出代码了:

#include<bits/stdc++.h>
using namespace std;
int main(){
	int t,x,y;
	cin>>t;
	for(int i=0;i<t;i++){
		cin>>x>>y;
		if(x==y)
			cout<<(x/2)*4+x%2<<endl;
		else if(x==y+2)
			cout<<(y/2)*4+2+y%2<<endl;
		else
			cout<<"No Number"<<endl;
	}
    return 0;
}

原文地址:https://www.cnblogs.com/juruoyqr/p/11518066.html