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

来源:互联网 发布:tmt行业知乎 编辑:程序博客网 时间:2024/05/29 16:21

7097 - Growing Rectangular Spiral


题目:

这里写图片描述

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

题目思路:找规律。
如果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;}
0 0