卡片游戏

时间限制:1000 ms  |  内存限制:65535 KB
难度:1
描写叙述
小明近期宅在家里无聊。于是他发明了一种有趣的游戏。游戏道具是N张叠在一起的卡片,每张卡片上都有一个数字,数字的范围是0~9,游戏规则例如以下:

  首先取最上方的卡片放到桌子上。然后每次取最上方的卡片,放到桌子上已有卡片序列的最右边或者最左边。当N张卡片所有都放到桌子上后。桌子上的N张卡片构成了一个数。这个数不能有前导0,也就是说最左边的卡片上的数字不能是0。

游戏的目标是使这个数最小。

  如今你的任务是帮小明写段程序,求出这个最小数。

输入
第一行是一个数T,表示有T组測试数据。

然后以下有T行, 每行是一个仅仅含有0~9的字符串,表示N张叠在一起的卡片。最左边的数字表示最上方的卡片。



[Technical Specification]

T<=1000

1 <= N <= 100
输出
对于每组測试数据,请在一行内输出能得到的最小数。
例子输入
3
565
9876543210
9876105432
例子输出
556
1234567890
1678905432
AC码:
#include<stdio.h>
int main()
{
char str[105],ch[110],s;
int T,i,j,left,right;
scanf("%d",&T);
while(T--)
{
scanf("%s",str);
s='9';
for(i=0;str[i]!='\0';i++)
{
if((str[i]!='0')&&str[i]<=s)
{
s=str[i];
j=i;
}
}
left=53;
right=52;
ch[left]='9';
for(i=0;str[i]!='\0';i++)
{
if(i>=j)
break;
if(str[i]<=ch[left])
{
left--;
ch[left]=str[i];
}
else
{
right++;
ch[right]=str[i];
}
}
printf("%c",s);
for(i=left;i<=right;i++)
printf("%c",ch[i]);
for(i=j+1;str[i]!='\0';i++)
printf("%c",str[i]);
printf("\n");
}
return 0;
}

最新文章

  1. MySQL concat函数的使用
  2. SQL语句技巧之去除重复行
  3. bat file handling, main: echo type *.txt &gt;&gt; /&gt;
  4. 升级到EntityFramework 6的注意事项
  5. Java API —— System类
  6. EXTJS 4.2 资料 控件之Window窗体自动填充页面
  7. ENVI5.1安装破解教程
  8. Android主题换肤 无缝切换
  9. Word神器使用
  10. CRT detected that the application wrote to memory after end of heap buffer.
  11. CocoaPods使用详细说明(转)
  12. CSU 1111 有三户人家共拥有一座花园,每户人家的太太均需帮忙整理花园。A 太太工作了5 天,B 太太则工作了4 天,才将花园整理完毕。C 太太因为正身怀六甲无法加入她们的行动,所以就打算出90元钱
  13. Struts2的创建Web项目入门
  14. SpringMVC整合极光推送报错ClassNotFound
  15. NGUI中的Tween的委托使用
  16. 计算机程序的思维逻辑 (70) - 原子变量和CAS
  17. Access数据库自动生成设计文档
  18. 生产环境,vue页面跳转的时候,js报404的问题
  19. I/O类型
  20. Dubbo服务化最佳实践

热门文章

  1. 内存分配(new/delete,malloc/free,allocator,内存池)
  2. sqlite 使用
  3. Python入门--20--类、对象
  4. Python Challenge 第三关
  5. 设计模式原来如此-单例模式(Singleton Pattern)
  6. HDU 5212 Code【莫比乌斯反演】
  7. sort、dirname、添加环境变量、修改主机名、别名IP、静态路由
  8. 我的VIM
  9. Linux环境下编译JDK
  10. PyTorch学习笔记之n-gram模型实现