首页 > 其他 > 详细

P4874 回形遍历 ——魏国

时间:2017-10-02 12:36:16      阅读:269      评论:0      收藏:0      [点我收藏+]

 

技术分享

技术分享

技术分享

技术分享

思路:

   写完后信心满满,结果超时。

  我很不解,下了个数据结果——,z竟然是大于1e10的,跟题目给的不一样啊

 

 这是个50分代码

#include<iostream>
#include<queue>
#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;
#define N 100009 
int n,m,x,y,z;
int deep,dir;
int dx[4]={1,0,-1,0},dy[5]={0,1,0,-1};
int main()
{
    scanf("%d%d%d%d%d",&n,&m,&x,&y,&z);
    deep=min(x,y);deep=min(deep,min(n-x,m-y));
    if(deep==x)    dir=4;
    if(deep==y) dir=1;
    if(deep==(n-x))    dir=2;
    if(deep==(m-y))    dir=3;
    dir--;n--,m--; 
    for(int i=1;i<=z;i++)
    {
        if(x+dx[dir]>=deep&&y+dy[dir]>=deep&&x+dx[dir]<=n-deep&&y+dy[dir]<=m-deep)
            x+=dx[dir],y+=dy[dir];
        else
        {
            dir=(dir+1)%4;
            x+=dx[dir],y+=dy[dir];
        }        
    }
    printf("%d %d",x,y);
    return 0;
} 

 

P4874 回形遍历 ——魏国

原文:http://www.cnblogs.com/CLGYPYJ/p/7619932.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!