Regionals 2014 >> North America - Greater NY >> 7097 - Growing Rectangular Spiral

7097 - Growing Rectangular Spiral

题目:

Regionals 2014 >> North America - Greater NY >> 7097 - Growing Rectangular Spiral_第1张图片

题目大意:方向固定,→↑←↓,每次走的步数要比前一次步绝对大。给出一个点,问是否能到达该点

题目思路:找规律。
如果x小于y那么,直接可到达。
另外情况可找规律发现,y小于4的情况无法到达,其余情况步数都为6,前面1,2,3固定。剩余3步可解方程得出。

题目链接:7097 - Growing Rectangular Spiral

以下是代码:

#include <vector>
#include <map>
#include <set>
#include <algorithm>
#include <iostream>
#include <cstdio>
#include <cmath>
#include <cstdlib>
#include <string>
#include <cstring>
using namespace std;

int main(){
    int p;
    scanf("%d",&p);
    while(p--)
    {
        int no,x,y;
        scanf("%d%d%d",&no,&x,&y);
        if (x < y)
        {
            printf("%d 2 %d %d\n",no,x,y);
        }
        else if (y >= 4)
        {
            printf("%d 6 1 2 3 %d %d %d\n",no,x - y + 5,x + 2,x + 3);           
        }
        else
        {
            printf("%d NO PATH\n",no);
        }
    }
    return 0;
}

你可能感兴趣的:(Regionals,Greater-NY,7097)