卡片游戏

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

      

 /*
分析 : 给你的一串数字中 大致 分为两种情况 1 : 有 0 2: 无 0
之所以 有这两种情况是因为 0 不能放在开头
现在 考虑一下 这两种情况 能不能尽量的合并处理 应该能
*/
//找到 所给的 数字钟最靠后并且最小(第一次的时候,不能是0)数字,这个数字就放在 开头 这个数字后面跟随的数字就放在最末位 ,
// 然后 除了这几个数字 剩下的前面的数字也执行此操作(这次 最小的数字 可以是0 )然后 放到上一次 排列数字的中间
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int main()
{
char a[];
int b[],i,j,q,m,n,l,miin,address,c[],begin,end; //begin 和 end 分别代表着 最后队列里 还未填充 部分的 开始 和结束
scanf("%d",&n);
while(n--)
{
scanf("%s",a);
l=strlen(a);
for(miin=,i=;i<l;i++)
{
b[i]=a[i]-'';
}
q=begin=;
address=;
while(address)
{
for(i=;i<l;i++)
{
if(b[i]==)
break;
if(q==)
{
if(miin>=b[i]&&b[i]!=)
{
address=i; //找到最后一个最小且不等零的数字的 地址
miin=b[i];
}
}
else
if(miin>=b[i])
{
address=i;
miin=b[i];
}
}
miin=;
q++;
c[begin++]=b[address];
b[address]=;
}
for(i=;i<begin;i++)
printf("%d",c[i]);
for(i=;i<l;i++)
{
if(b[i]!=)
printf("%d",b[i]);
}
printf("\n");
memset(a,'',sizeof(a));
}
}

hdu 模拟 贪心 4550的更多相关文章

  1. HDU 4903 (模拟+贪心)

    Fighting the Landlords Problem Description Fighting the Landlords is a card game which has been a he ...

  2. HDU 1528 贪心模拟/二分图

    Card Game Cheater Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others ...

  3. hdu 6034 贪心模拟 好坑

    关键在排序!!! 数组间的排序会超时,所以需要把一个数组映射成一个数字,就可以了 #include <bits/stdc++.h> using namespace std; typedef ...

  4. hdu 4974 贪心

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

  5. BZOJ1029: [JSOI2007]建筑抢修[模拟 贪心 优先队列]

    1029: [JSOI2007]建筑抢修 Time Limit: 4 Sec  Memory Limit: 162 MBSubmit: 3785  Solved: 1747[Submit][Statu ...

  6. HDU 2831 (贪心)

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=2831 题目大意:植物大战僵尸.给定种植植物时间间隔t,以及每个僵尸的到达时间v,生命d.问是否能赢. ...

  7. Codeforces Round #375 (Div. 2) A B C 水 模拟 贪心

    A. The New Year: Meeting Friends time limit per test 1 second memory limit per test 256 megabytes in ...

  8. Codeforces 452D [模拟][贪心]

    题意: 给你k件衣服处理,告诉你洗衣机烘干机折叠机的数量,和它们处理一件衣服的时间,要求一件衣服在洗完之后必须立刻烘干,烘干之后必须立刻折叠,问所需的最小时间. 思路: 1.按照时间模拟 2.若洗完的 ...

  9. Hdu 5289-Assignment 贪心,ST表

    题目: http://acm.hdu.edu.cn/showproblem.php?pid=5289 Assignment Time Limit: 4000/2000 MS (Java/Others) ...

随机推荐

  1. 全文搜索(A-2)-推荐算法

    一般来说推荐算法分为两类. 基于内容过滤的推荐: 基于协同过滤的推荐: 基于内容过滤的推荐,基于特征码描述项目. 协同过滤算法的设计基于一个假设,“和目标用户相似度高的用户,其感兴趣的物品目标用户也会 ...

  2. 鳥哥的 Linux 私房菜

    RootKit Hunter 後端偵測軟體之架設與執行 切換解析度為 800x600 最近更新日期:2004/11/16 由前面幾個章節的說明,我們可以曉得因為主機的某些服務是有漏洞的, 黑客們可以針 ...

  3. 【51NOD1766】树上的最远点对(线段树,LCA,RMQ)

    题意:n个点被n-1条边连接成了一颗树,给出a~b和c~d两个区间, 表示点的标号请你求出两个区间内各选一点之间的最大距离,即你需要求出max{dis(i,j) |a<=i<=b,c< ...

  4. 【HDOJ5713】K个联通块(状压DP,计数)

    题意:有一张无重边的无向图, 求有多少个边集,使得删掉边集里的边后,图里恰好有K个连通块. 1≤T≤201≤K≤N≤140≤M≤N∗(N+1)/21≤a,b≤N 思路:From http://blog ...

  5. 【Intellij 】Intellij IDEA 添加jar包的三种方式

    一.直接复制:(不推荐) 方法:直接将硬盘上的jar包复制粘贴到项目的lib目录下即可. 注意: 1.对于导入的eclipse项目,该方式添加的jar包没有任何反应,用make编译项目会报错 2.对于 ...

  6. Redis基于Java的客户端SDK收集

    如果要找这类的SDK,第一反应应该直奔官网,找一下看下有什么推荐.先找最权威的回答,找不到再尝试民间方案. 就Redis来说,官方已经提供了一个列表包括市面上绝大多数语言的SDK,可以参考以下网址看J ...

  7. Servlet实现点击计数器

    以下内容引用自http://wiki.jikexueyuan.com/project/servlet/hits-counter.html: 一.Web页面的点击计数器 很多时候,可能有兴趣知道网站的某 ...

  8. ibatis中isNotNull与isNotEmpty区别

    isNotNull:参数不能为null,空的可以的 isNotEmpty:参数不能为null和空 那什么是空?比如String类型 String a = ""; a就是空

  9. go语言中的timer 和ticker定时任务

    https://mmcgrana.github.io/2012/09/go-by-example-timers-and-tickers.html --------------------------- ...

  10. formData 对象

    (1)创建的formData打印为空? var edition=$("#edinum").val();//版本号 var uploader=$("#upman" ...