思路:

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

  我很不解,下了个数据结果——,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[]={,,-,},dy[]={,,,-};
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=;
if(deep==y) dir=;
if(deep==(n-x)) dir=;
if(deep==(m-y)) dir=;
dir--;n--,m--;
for(int i=;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+)%;
x+=dx[dir],y+=dy[dir];
}
}
printf("%d %d",x,y);
return ;
}

这是个AC代码

#include<iostream>
#include<queue>
#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;
long long n,m,x,y,z;
long long deep,dir,len;
int main()
{ scanf("%lld%lld%lld%lld%lld",&n,&m,&x,&y,&z);n--,m--;
deep=min(x,y);deep=min(deep,min(n-x,m-y));
if(deep==(m-y)) dir=;
if(deep==x) dir=;
if(deep==y) dir=;
if(deep==(n-x)) dir=;
if(x==(n-x)&&x==deep)
dir=;
if(y==(m-y)&&y==deep)
dir=; dir--;
while(z+>=)
{
if(dir==)
{
len= n-x-deep;
if(z>len)
{
z-=len; x+=len;
dir=;
}else
{
printf("%lld %lld",x+z,y);
return ;
}
}else
if(dir==)
{
len=m-y-deep;
if(z>len)
{
z-=len; y+=len;
dir=;
}else
{
printf("%lld %lld",x,y+z);
return ;
}
}else
if(dir==)
{
len=x-deep;
if(z>len)
{
z-=len;x=deep;
dir=;
}else
{
printf("%lld %lld",x-z,y);
return ;
}
}else
if(dir==)
{
deep++;
len=y-deep;
if(z>len)
{
z-=len;y=deep;
dir=;
}else
{
printf("%lld %lld",x,y-z);
return ;
} } }
return ;
}

P4874 回形遍历 —模拟的更多相关文章

  1. Openjudge-NOI题库-二维数组回形遍历

    题目描述 Description 给定一个row行col列的整数数组array,要求从array[0][0]元素开始,按回形从外向内顺时针顺序遍历整个数组.如图所示:  输入输出格式 Input/ou ...

  2. 2017.9.23 NOIP2017 金秋杯系列模拟赛 day1 T1

    回形遍历( calc .cpp/c/pas) 时间限制:1s内存 限制: 256MB [问题 描 述] 给出一个 n*m 的棋盘,按如下方式遍历,请问(x,y)往后 z 步走到的是哪个格子. [输入] ...

  3. FZU 1893 内存管理 模拟

    比赛的时候队友要做这道题…… 他没做出来自己也被误导了…… 也算是个教训 自己还是要有自己的思路…… 又是模拟题…… 网上都是用vector做的 我最近才会stl 怎么会用那么高大上的的东西…… 强力 ...

  4. express+mockjs实现模拟后台数据发送

    前言: 大多数时候,前端会和后端同时进行开发,即在我们开发完页面的时候,很可能还不能立马进入联调阶段,这个时候,为了保证我们接口的有效性和代码的功能完整,我们可能需要模拟数据. 模拟数据方法 1.通过 ...

  5. JavaScipt 事件体系

    事件机制 jQuery对事件的绑定分别有几个API .bind()/.live()/.delegate()/.on() 不管是用什么方式绑定,归根到底还是用addEventListener/attac ...

  6. noi题库(noi.openjudge.cn) 1.8编程基础之多维数组T21——T25

    T21 二维数组右上左下遍历 描述 给定一个row行col列的整数数组array,要求从array[0][0]元素开始,按从左上到右下的对角线顺序遍历整个数组. 输入 输入的第一行上有两个整数,依次为 ...

  7. Regional Changchun Online--Alisha’s Party

    Alisha's Party Time Limit: 3000/2000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others) ...

  8. Delphi下实现全屏快速找图找色

    前言 最近有好几个朋友都在问我找图找色的问题,奇怪?于是乎写了一个专门用于找图找色的单元文件“BitmapData.pas”.在这个单元文件中我实现了从文件中导入位图.屏幕截图.鼠标指针截图.在图片上 ...

  9. Java实现非递归删除目录

    最近在学C#的文件系统, 发现C#的文件系统貌似比java的东西少一点, 居然连删除目录都直接做好封装了, 想到学java的时候还要自己写递归删除, 好像没写过非递归的,就在网上查了下, 关于非递归删 ...

随机推荐

  1. CodeForces 547E:Mike and Friends(AC自动机+DFS序+主席树)

    What-The-Fatherland is a strange country! All phone numbers there are strings consisting of lowercas ...

  2. BZOJ_3165_[Heoi2013]Segment_线段树

    BZOJ_3165_[Heoi2013]Segment_线段树 Description 要求在平面直角坐标系下维护两个操作: 1.在平面上加入一条线段.记第i条被插入的线段的标号为i. 2.给定一个数 ...

  3. 【Lintcode】094.Binary Tree Maximum Path Sum

    题目: Given a binary tree, find the maximum path sum. The path may start and end at any node in the tr ...

  4. mysql数据库表分区详解(数量过大的数据库表通过分区提高查询速度)

    这篇文章主要介绍了MySQL的表分区,例如什么是表分区.为什么要对表进行分区.表分区的4种类型详解等,需要的朋友可以参考下 一.什么是表分区通俗地讲表分区是将一大表,根据条件分割成若干个小表.mysq ...

  5. 消息队列:快速上手ActiveMQ消息队列的JMS方式使用(两种模式:Topic和Queue的消息推送和订阅)

    1.实现功能 希望使用一套API,实现两种模式下的消息发送和接收功能,方便业务程序调用 1.发送Topic 2.发送Queue 3.接收Topic 4.接收Queue 2.接口设计 根据功能设计公共调 ...

  6. HBase键值分片的简单运用

    1.基本原理介绍     HBase的存储是通过行键建立索引进行存储的,而且HBase只支持一级索引,因此只要通过行键才能很快的找到需要的数据.     HBase是一个分布式的系统,HBase通过行 ...

  7. wpf如何获取control template里的元素

    wpf中的控件模板里的元素有自己独立的命名域. 因此不能通过FindName来根据x:Name来查找子节点. 自己写了一个方法, 通过可视树遍历子节点,然后匹配名字. 如下: private stat ...

  8. mysql的itcast笔记

    1 课程回顾 自定义标签&编码实战 1)自定义标签步骤: 1.1 编写标签处理器类,继承SimpleTagSupport类,覆盖doTag方法 1.2 在WEB-INF目录下建立tld文件,在 ...

  9. caffe solver

    caffe solver https://groups.google.com/forum/#!topic/caffe-users/mUIi42aKWHQ https://github.com/BVLC ...

  10. UnicodeDecodeError: 'ascii' codec can't decode byte 0xe6 in position 0: ordinal not in range(128)

    2017-03-16 11:23:29.601 1238 ERROR nova.compute.manager [instance: 3f195047-250a-4eb5-8da0-63bea6e26 ...