码迷,mamicode.com
首页 > 其他好文 > 详细

螺旋队列和hiho1525逃离迷宫3

时间:2017-07-26 13:46:56      阅读:181      评论:0      收藏:0      [点我收藏+]

标签:大于   错误   lib   logs   长整型   左右   stdio.h   clu   jpg   

技术分享

技术分享

技术分享

技术分享

 

我是真调不出错误了!

hiho1525逃离迷宫3

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

//中间变量为长整形,so x,y变量一定要设置为长整型
long long cal(long long x,long long y)
{
    if (x<=y && y<=-x && x<=0)
        return (4*x*x-3*x+y)%26;
    else if (-y+1<=x && x<=y-1 && y>0)
        return (4*y*y-3*y+x)%26;
    else if (-x+1<=y && y<=x && x>0)
        return (4*x*x-x-y)%26;
    else if (y+1<=x && x<=-y && y<0)
        return (4*y*y-y-x)%26;
}

int main()
{
    long n,i,k;
    long long dx[4]={-1,0,0,1},dy[4]={0,-1,1,0};
    long long x,y,e,s[4];
    scanf("%ld",&n);
    for (k=1;k<=n;k++)
    {
        scanf("%lld%lld",&x,&y);
        //任意两个字母必存在相邻的两个位置
        //(0,0)[a]->( , )[a]->( , )[b]->(x,y)[b],三步必能实现
        //所以寻找一步、两步(小于三步)的操作

        //a=b:一步
        //a<>b:大于一步
        //(0,0)[a]->( , )[a]->(x,y)[b] 相邻
        //(0,0)[a]->( , )[b]->(x,y)[b] 相邻
        //寻找一步上下左右操作,(0,0)能否到达字母为b的格
        //寻找一步上下左右操作,(x,y)能否到达字母为a的格

        if (x==0 && y==0)
        {
            printf("0\n");
            continue;
        }
        e=cal(x,y);
        for (i=0;i<3;i++)
            s[i]=cal(x+dx[i],y+dy[i]);

        if ((x==0 && y==1) || (x==0 && y==-1) || (x==1 && y==0) || (x==-1 && y==0))
            printf("1\n");
        else if (e==0)
            printf("1\n");
        else if ((x==0 && y==2) || (x==0 && y==-2) || (x==-2 && y==0) || (x==2 && y==0))
            printf("2\n");
        else if ((x==1 && y==1) || (x==1 && y==-1) || (x==-1 && y==1) || (x==-1 && y==-1))
            printf("2\n");
        //(0,0)->相邻[B D F H]->(x,y)
        else if (e==1 || e==3 || e==5 || e==7)
            printf("2\n");
        //(x,y)->相邻[0]->(0,0)
        else if (s[0]==0 || s[1]==0 || s[2]==0 || s[3]==0)
            printf("2\n");
        else
            printf("3\n");
    }
    return 0;
}

 

螺旋队列和hiho1525逃离迷宫3

标签:大于   错误   lib   logs   长整型   左右   stdio.h   clu   jpg   

原文地址:http://www.cnblogs.com/cmyg/p/7239047.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!