• HDU 5523:Game


    Game

     Time Limit: 2000/1000 MS (Java/Others)
     
     Memory Limit: 131072/131072 K (Java/Others)
    问题描述
    XY在玩一个游戏:有N根柱子排成一排,编号为1到N,每个柱子上面有一块宝石,现在XY站在第S根柱子上,出口在第T跟柱子上,XY需要拿到所有宝石后从出口离开。每次XY可以走到相邻的柱子上,也可以使用超能力跳到第一根柱子或者第N根柱子上,如果离开了柱子之后再也不能到达这里。为了节省能量,XY想用最少次数超能力通关。
    输入描述
    输入有多组数据,不超过1000组.
    每组数据输入一行包含3个整数,N,S和T.(1leq Nleq10000,1leq S,Tleq N )(1N10000,1S,TN)
    输出描述
    对于每组数据输出一行,表示使用超能力的最少次数,如果不可能离开,输出-1.
    输入样例
    4 1 4
    4 1 3
    
    输出样例
    0
    1

    这周末BC玩得。。。rating直接掉了150.。。实在是不想吐槽自己了。。。

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

    代码:

    #include <iostream>  
    #include <algorithm>  
    #include <cmath>  
    #include <vector>  
    #include <string>  
    #include <cstring>  
    #pragma warning(disable:4996)  
    using namespace std;
    
    int n, s, t;
    
    int main()
    {
        //freopen("i.txt", "r", stdin);
        //freopen("o.txt", "w", stdout);
    
        while (scanf("%d%d%d", &n, &s, &t) != EOF)
        {
            if(n==1)
                printf("0
    ");
            else if (s == t)
                printf("-1
    ");
            else if (t == n)
            {
                if (s == 1)
                    printf("0
    ");
                else if (abs(s - t) == 1)
                    printf("1
    ");
                else 
                    printf("2
    ");
            }
            else if (t == 1)
            {
                if (s == n)
                    printf("0
    ");
                else if (abs(s - t) == 1)
                    printf("1
    ");
                else
                    printf("2
    ");
            }
            else if (s == 1)
            {
                printf("1
    ");
            }
            else if (s == n)
            {
                printf("1
    ");
            }
            else if(abs(s-t)==1)
            {
                printf("1
    ");
            }
            else
            {
                printf("2
    ");
            }
        }
        //system("pause");
        return 0;
    }



    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    剑指offer-二维数组中的查找
    TF-IDF(term frequency–inverse document frequency)
    Java实现中文字符串的排序功能
    当前课程
    【R】资源整理
    CentOS相关
    【转】Setting up SDL Extension Libraries on MinGW
    【转】Setting up SDL Extension Libraries on Visual Studio 2010 Ultimate
    【转】Setting up SDL Extension Libraries on Code::Blocks 12.11
    【转】Setting up SDL Extension Libraries on Visual Studio 2019 Community
  • 原文地址:https://www.cnblogs.com/lightspeedsmallson/p/4928103.html
Copyright © 2020-2023  润新知