题目解读:判断能不能到达一个点(x,y),如果能,求它的最小增长长度。
1。x==y 不能。
2。y>x. 任意一个点都能到达,且最小为2步。
3。y<x.转一圈,当每次都增加1,y的最小值为4。因此y<4的都不能达到。当y>=4。可求任意一点的最小增长长度。
AC代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int p;cin>>p;
while(p--)
{
int num;cin>>num;
int x,y;cin>>x>>y;
if(x==y)
cout<<num<<" NO PATH"<<endl;
else if(y>x)
cout<<num<<" 2 "<<x<<" "<<y<<endl;
else
{
if(y<4)
cout<<num<<" NO PATH"<<endl;
else
cout<<num<<" 6 1 2 3 "<<x+5-y<<" "<<x+2<<" "<<x+3<<endl;
}
}
return 0;
}