卡片游戏Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)
Total Submission(s): 1704    Accepted Submission(s): 500Problem Description小明最近宅在家里无聊,于是他发明了一种有趣的游戏,游戏道具是N张叠在一起的卡片,每张卡片上都有一个数字,数字的范围是0~9,游戏规则如下:首先取最上方的卡片放到桌子上,然后每次取最上方的卡片,放到桌子上已有卡片序列的最右边或者最左边。当N张卡片全部都放到桌子上后,桌子上的N张卡片构成了一个数。这个数不能有前导0,也就是说最左边的卡片上的数字不能是0。游戏的目标是使这个数最小。现在你的任务是帮小明写段程序,求出这个最小数。Input
第一行是一个数T,表示有T组测试数据;
然后下面有T行, 每行是一个只含有0~9的字符串,表示N张叠在一起的卡片,最左边的数字表示最上方的卡片。[Technical Specification]
T<=1000
1 <= N <= 100Output
对于每组测试数据,请在一行内输出能得到的最小数。Sample Input
3
565
9876543210
9876105432Sample Output
556
1234567890
1678905432Source
2013金山西山居创意游戏程序挑战赛——初赛(2)Recommend
liuyiding   |   We have carefully selected several similar problems for you:  5634 5633 5632 5631 5630                     

      

 1 /*
 2     分析 : 给你的一串数字中  大致 分为两种情况  1 : 有 0 2: 无 0
 3     之所以 有这两种情况是因为 0 不能放在开头
 4     现在  考虑一下 这两种情况 能不能尽量的合并处理    应该能
 5                                                                    */
 6 //找到 所给的 数字钟最靠后并且最小(第一次的时候,不能是0)数字,这个数字就放在 开头 这个数字后面跟随的数字就放在最末位 ,
 7 // 然后 除了这几个数字 剩下的前面的数字也执行此操作(这次 最小的数字 可以是0 )然后  放到上一次 排列数字的中间
 8 #include<cstdio>
 9 #include<cstring>
10 #include<algorithm>
11 using namespace std;
12 int main()
13 {
14     char a[111];
15     int b[111],i,j,q,m,n,l,miin,address,c[111],begin,end;   //begin 和 end 分别代表着   最后队列里 还未填充 部分的 开始 和结束
16     scanf("%d",&n);
17     while(n--)
18     {
19         scanf("%s",a);
20         l=strlen(a);
21         for(miin=1000,i=0;i<l;i++)
22         {
23             b[i]=a[i]-'0';
24         }
25         q=begin=0;
26         address=10;
27         while(address)
28         {
29             for(i=0;i<l;i++)
30             {
31                 if(b[i]==11)
32                     break;
33                 if(q==0)
34                 {
35                     if(miin>=b[i]&&b[i]!=0)
36                     {
37                         address=i;             //找到最后一个最小且不等零的数字的 地址
38                         miin=b[i];
39                     }
40                 }
41                 else
42                     if(miin>=b[i])
43                     {
44                         address=i;
45                         miin=b[i];
46                     }
47             }
48             miin=1000;
49             q++;
50             c[begin++]=b[address];
51             b[address]=11;
52         }
53         for(i=0;i<begin;i++)
54             printf("%d",c[i]);
55         for(i=0;i<l;i++)
56         {
57             if(b[i]!=11)
58                 printf("%d",b[i]);
59         }
60         printf("\n");
61         memset(a,'0',sizeof(a));
62     }
63 }

转载于:https://www.cnblogs.com/A-FM/p/5222933.html

hdu 模拟 贪心 4550相关推荐

  1. 【CodeForces Round #550】A-F | 模拟 | 贪心 | 高精 | BFS | 二分图 | E

    今年怎么没有愚人节比赛了   CF你看看人家洛谷   唉鸭原来那边还没到愚人节呢- 愚人节比赛还是有的,在今晚 qwq [CodeForces 1144   A-F] Tags:模拟 贪心 BFS 高 ...

  2. 1739 - 放置盒子 - 模拟 - 贪心 - 数学

    欢迎关注更多精彩 关注我,学习常用算法与数据结构,一题多解,降维打击. 文章目录 题目描述 题目描述 题目剖析&信息挖掘 解题思路 方法一 模拟+贪心+数学 分析 思路 注意 知识点 复杂度 ...

  3. 1/22 测试一(STL 模拟 贪心)C.(贪心,给出气球,输出最好成绩)Contest Balloons

    1/22 测试一(STL 模拟 贪心) C.(贪心,给出气球,输出最好成绩)Contest Balloons One tradition of ACM-ICPC contests is that a ...

  4. hdu 4974 贪心

    http://acm.hdu.edu.cn/showproblem.php?pid=4974 n个人进行选秀,有一个人做裁判,每次有两人进行对决,裁判可以选择为两人打分,可以同时加上1分,或者单独为一 ...

  5. bzoj 2457 [BeiJing2011]双端队列 模拟+贪心

    [BeiJing2011]双端队列 Time Limit: 10 Sec  Memory Limit: 128 MB Submit: 457  Solved: 203 [Submit][Status] ...

  6. Smzzl with Greedy Snake 模拟-贪心-阅读理解

    题意 : 给出n个食物及坐标,必须按顺序吃掉,且只有在吃掉一个后,才会出现下一个. 从(x, y)出发,沿着d方向,每次可以前进或者顺时针或者逆时针转90度,用时都为1,求构造用时最少的方案并记录方案 ...

  7. hdu 5720(贪心)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5720 官方题解: 考虑三角形三条边a,b,c  (a≥b) 的关系a−b<c,a+b>c  ...

  8. hdu 4982 贪心构造序列

    http://acm.hdu.edu.cn/showproblem.php?pid=4982 给定n和k,求一个包含k个不相同正整数的集合,要求元素之和为n,并且其中k-1的元素的和为完全平方数 枚举 ...

  9. HDU2111 Saving HDU【贪心】

    Saving HDU Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Su ...

最新文章

  1. Scons构建C++项目
  2. php贺卡生成,用php与mysql的电子贺卡程序
  3. linux之彻底卸载mysql
  4. c++ try catch语句_再问你一遍,你真的了解try..catch(finally)吗???
  5. Linux 新加一块硬盘,添加到已有逻辑卷扩容
  6. vue 获取元素高度
  7. 计算机游戏制作英文要学好吗,有关怎么不沉迷于电脑游戏的英语作文你的同学MICHAEL沉迷于电脑游戏中,影响了学习.作为好朋友,你要怎么帮助他?写一篇80词左右的英语作文....
  8. php 程序性能分析工具,php的性能分析工具:xhprof
  9. 安装服务器系统教程20180615
  10. 如何拥有一个游戏策划的思维
  11. 微信浏览器字体调整 PHP,h5禁止微信内置浏览器调整字体大小
  12. 处理导入的原理图库中Designator字体不对的问题
  13. 最省心的Python版本和第三方库管理——初探Anaconda
  14. 从粉丝经济看粉丝运营
  15. 中北大学计算机研究生学院,【计算机考研】院校信息-中北大学
  16. Rhel 7 /Centos 7配置快速启动栏启动以Firefox为例
  17. HRM人力资源管理平台
  18. 广州大学 计算机 非全,广州大学在职研究生就是非全日制研究生吗?
  19. IDC X 得帆 |低代码PaaS驱动集团企业数字化创新
  20. 【考研数学一】2019考研真题和参考答案

热门文章

  1. 算法笔记-判断链表保存的字符串是否是回文
  2. 使用Electron制作一个快速搜索应用(入门向)
  3. NetCore入门篇:(二)Net Core项目创建
  4. oracle database link使用说明
  5. ListView单选的实现总结(转)
  6. VC++ MFC中如何将应用程序的配置信息保存到注册表中(一)
  7. Android 屏幕滑动事件
  8. Excel组件DCOM配置
  9. javascript DOM对象
  10. java GUI界面之JTable详解