zoukankan      html  css  js  c++  java
  • HDU-4550 卡片游戏

    Problem Description
      小明最近宅在家里无聊,于是他发明了一种有趣的游戏,游戏道具是N张叠在一起的卡片,每张卡片上都有一个数字,数字的范围是0~9,游戏规则如下:
      首先取最上方的卡片放到桌子上,然后每次取最上方的卡片,放到桌子上已有卡片序列的最右边或者最左边。当N张卡片全部都放到桌子上后,桌子上的N张卡片构成了一个数。这个数不能有前导0,也就是说最左边的卡片上的数字不能是0。游戏的目标是使这个数最小。
      现在你的任务是帮小明写段程序,求出这个最小数。
     
    Input
    第一行是一个数T,表示有T组测试数据;
    然后下面有T行, 每行是一个只含有0~9的字符串,表示N张叠在一起的卡片,最左边的数字表示最上方的卡片。

    [Technical Specification]
    T<=1000
    1 <= N <= 100
     
    Output
    对于每组测试数据,请在一行内输出能得到的最小数。
     
    Sample Input
    3
    565
    9876543210
    9876105432
     
    Sample Output
    556
    1234567890
    1678905432

    string的用法
     
    #include <iostream>
    #include <string>
    using namespace std;
    
    int main(void)
    {
        string str, min;
        int t, i, j;
        char max;
        
        while(scanf("%d", &t) != EOF)
        {
            while(t--)
            {
                max = '9';
                j = 109;
                cin >> str;
                
                for(i = 0; i < str.size(); i++)
                {
                    if(str[i] != '0' && max >= str[i])
                    {
                        max = str[i];
                        j = i;
                    }
                }
                
                min = str[0];
                for(i = 1; i < str.size(); i++)
                {
                    if(i < j)
                    {
                        if(str[i] <= min[0])
                            min = str[i] + min;
                        else
                            min = min + str[i];
                    }
                    else if(i > j)
                        min = min + str[i];
                    else if(i == j)
                        min = str[i] + min;
                    
                }
                
                cout << min << endl;
                
            }
            
            
            
        }
        
        
    }
    
  • 相关阅读:
    一、dynamic
    一、提问方式
    金额大写
    1、过滤敏感字符
    一、简单的移动端tab头部二级下拉导航栏,向下弹出,向上隐藏
    一、简单的图片上传并预览功能input[file]
    【2019-11-16】做人和做企业是一个同心圆
    【2019-11-15】销售门槛低,但前途无量
    【2019-11-14】乐观扩宽了自己想象的范围
    【2019-11-13】看到别人的是孤独,其实是独处
  • 原文地址:https://www.cnblogs.com/limyel/p/7159782.html
Copyright © 2011-2022 走看看