hdu 5523 Game 【BestCoder Round #61 (div.2)】

简介:

Game

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)
Total Submission(s): 315    Accepted Submission(s): 126


Problem Description
XY is playing a game:there are N pillar in a row,which numbered from 1 to n.Each pillar has a jewel.Now XY is standing on the S-th pillar and the exit is in the T-th pillar.XY can leave from the exit only after they get all the jewels.Each time XY can move to adjacent pillar,or he can jump to boundary ( the first pillar or the N-th pillar) by using his superpower.However,he needs to follow a rule:if he left the pillar,he no can not get here anymore.In order to save his power,XY wants to use the minimum number of superpower to pass the game.
 

Input
There are multiple test cases, no more than 1000 cases.
For each case,the line contains three integers:N,S and T. (1≤N≤10000,1≤S,T≤N)
 

Output
The output of each case will be a single integer on a line: the minimum number of using superpower or output -1 if he can't leave.
 

Sample Input
 
 
4 1 4 4 1 3
 

Sample Output
 
 
0 1
 

Source
 

Recommend
hujie   |   We have carefully selected several similar problems for you:   5526  5525  5524  5522  5521 
 
题目大意:
问题描述
XY在玩一个游戏:有N根柱子排成一排,编号为1到N,每个柱子上面有一块宝石,现在XY站在第S根柱子上,出口在第T跟柱子上,XY需要拿到所有宝石后从出口离开。每次XY可以走到相邻的柱子上,也可以使用超能力跳到第一根柱子或者第N根柱子上,如果离开了柱子之后再也不能到达这里。为了节省能量,XY想用最少次数超能力通关。
输入描述
输入有多组数据,不超过1000组.
每组数据输入一行包含3个整数,N,S和T.(1\leq N\leq10000,1\leq S,T\leq N )(1≤N≤10000,1≤S,T≤N)
输出描述
对于每组数据输出一行,表示使用超能力的最少次数,如果不可能离开,输出-1.
官方题解:

无解的情况只有起点和终点位置一样且N不为1。终点和起点都在边界上答案为0,如果起点在边界上或者起点终点相邻答案为1,其他答案为2.

个人想法:
分别讨论 s 与 t 的关系,
1)当 s == t 的时候,只有当 n == 1的时候输出0,其余输出-1;
2)当 s<t  的时候,再分别讨论 s == 1的时候 t的情况,相邻输出  1。
3)当 s>t  的时候,再分别讨论 s == n的时候 t的情况,相邻输出  1。

上代码:

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

#define MM(a) memset(a,0,sizeof(a))

typedef long long LL;
typedef unsigned long long ULL;
const int maxn = 15;
const int mod = 1000000007;
const double eps = 1e10-7;

int main()
{
    int n,s,t;
    while(~scanf("%d%d%d",&n,&s,&t))
    {
        if(s == t)
        {
            if(n == 1)
                puts("0");
            else
                printf("-1\n");
        }
        else
        {
            if(s < t)
            {
                if(s==1 && t<n)
                    puts("1");
                else if(s==1 && t==n)
                    puts("0");
                else if(s != 1)
                {
                    if(t == s+1)
                        puts("1");
                    else
                        puts("2");
                }
            }
            else
            {
                if(s==n && t==1)
                    puts("0");
                else if(s==n && t>1)
                    puts("1");
                else if(s != n)
                {
                    if(t == s-1)
                        puts("1");
                    else
                        puts("2");
                }
            }
        }
    }
    return 0;
}


目录
相关文章
|
7天前
|
编译器 Linux C语言
【全网最详细】MinGW64|MinGW官网下载和安装图文教程(附常用安装包)
MinGW-w64是Windows平台开源GCC编译工具链,支持32/64位系统,解压即用、免安装。提供gcc/g++命令,兼容Linux开发习惯,轻量高效,可搭配VS Code等编辑器使用,适合C/C++初学者及跨平台开发者。(239字)
|
1月前
|
前端开发 API 开发者
拆解 DeepSeek Harness:Profile 与 Bundle 如何装配运行时
dsh 通过 Profile 与 Bundle 实现运行时的分层组装:Bundle 是可分发的配置单元,提供插件与配置;Profile 显式声明需加载的 Bundle 及其顺序,决定最终运行形态(如 Web/Headless)。多层 patch 按序叠加、ID 驱动覆盖,支持灵活复用与差异化定制。
200 0
拆解 DeepSeek Harness:Profile 与 Bundle 如何装配运行时
|
数据采集 人工智能 自然语言处理
1小时让AI员工“上岗接活”:AI实训营活动落地北京城市副中心,云大使专属服务赋能创业者
阿里云云大使深度参与临河里街道曦光OPC创业社区的AI普及实践,通过“专家授课+实操演练+资源对接”模式,帮助从业者快速掌握Qoder系列智能体在文档生成、数据清洗、跨系统协同等场景的落地应用技巧,并为参会者提供专属权益与产品咨询服务,依托阿里云丰富的产品生态与专业服务能力,赋能开发者与推广者,共享 AI 时代发展红利。
1小时让AI员工“上岗接活”:AI实训营活动落地北京城市副中心,云大使专属服务赋能创业者
|
2月前
|
数据采集 人工智能 自然语言处理
自动化比价系统:从采集到数据清洗,全链路打通教程
本文详解淘宝/京东/拼多多三平台自动化比价系统全链路:用OpenClaw自然语言采集、站大爷隧道代理防封(24小时成功率98.2%+)、AI智能清洗价格(统一格式、核销优惠、去重校验),自动生成可决策的比价报告与飞书预警,真正实现“采得稳、洗得准、用得上”。
310 1
|
2月前
|
人工智能 前端开发 搜索推荐
别再傻傻做视频啦!!!52.1k Star Remotion,把 React 组件变成视频生产线,强到离谱~~
Remotion 是一个用 React 程序化生成视频的开源项目,适合模板化视频、数据驱动视频、产品内嵌播放器和批量渲染场景。
364 0
|
9月前
|
人工智能 自然语言处理 安全
WhatsApp 2026 AI 政策意味着什么?如何构建合规的聊天机器人?
Meta 将于 2026 年 1 月 15 日起禁止 WhatsApp Business Platform 上的“通用人工智能聊天机器人”(如开放域 ChatGPT 式对话),但明确允许用于订单查询、智能客服、预约管理等结构化业务场景的 AI。本文解析政策边界、风险判断标准,并提供可落地的合规建议,以及如何通过阿里云 Chat App 消息服务快速构建符合 Meta 要求的 WhatsApp AI 应用,避免账号受限,高效服务海外客户。
932 0
|
5月前
|
Windows
PE启动盘制作与启动教程 Windows版:NTFS格式化+一键制作+双模式引导指南
本教程指导如何将≥8GB U盘格式化为NTFS,并使用PE工具箱制作WinPE启动盘:解压工具、以管理员身份运行,选择U盘写入PE系统,完成后生成EFI隐藏分区,支持系统维护与重装。(239字)
1525 0
|
7月前
|
人工智能 监控 算法
AI智能体的上线流程
AI智能体上线需经合规审查、沙箱仿真、灰度发布、实时观测与持续迭代五大阶段,涵盖算法备案、数字水印、幻觉测试、HITL人机协同、Reasoning Trace监控及RAG知识热更新,确保安全、可控、高效落地。(239字)
|
6月前
|
人工智能 自然语言处理 监控
大模型时代:2026 智能流程自动化软件全新能力分享
本文详解2026年主流智能流程自动化三大技术:RPA(外挂式操作,稳定落地)、BPM(低门槛流程管控)、LLM+Agent(如“龙虾”OpenClaw,自主执行复杂任务)。重点对比其能力边界、安全机制与企业适配性,并介绍RPA+AI融合方案如何兼顾智能性与合规性。(239字)
|
11月前
|
安全 API 数据处理
Python 3.10 模式匹配:为什么你应该马上使用 Match-Case
Python 3.10 模式匹配:为什么你应该马上使用 Match-Case
464 118

热门文章

最新文章