[HDOJ 4550] 卡片游戏
2015-07-26 17:33
387 查看
题目描述
卡片游戏解题思路
找到非零且最小的数字的位置(有多个则取最靠后的位置) p然后分3段考虑
0~p : 大的放后,小的放前
p: 把s[p]放在首位
p~len-1:都放在后面
参考代码
#include<iostream> #include<string> using namespace std; int main() { int T,i; string ans,s; scanf("%d",&T); while(T--){ cin >> s; ans = s[0]; char minc = '9'; int p = 0; for(i = 0;s[i];i++) if(s[i] != '0' && minc >= s[i]) minc = s[p=i]; for(i = 1;s[i];i++){ if(i == p) ans = s[i] + ans; else if(i > p) ans += s[i]; else if(i < p){ if(s[i] > ans[0]) ans += s[i]; else ans = s[i] + ans; } } cout<< ans <<endl; } return 0; }
相关文章推荐
- ORACLE 中ROWNUM用法总结! (转)
- MFC自动登陆网页,post提交UTF8数据
- 49. Anagrams
- 网页的重绘和回流
- android 定义 程序 Scheme 接收特定URI开启Activity
- 基于BP弱分类器用Adaboost的强分类器
- 八大排序算法-归并排序
- 设置中用到的简单好用的PreferenceActivity
- 关于作业中遇到的火狐和谷歌兼容性问题总结
- 黑马程序员——Java基础——数组
- Put方法实现Mysql向Hbase数据迁移
- 一致性哈希机器在分布式中的作用
- Junit4 单元测试的断言
- [HDOJ 4551] 生日猜猜猜
- tcp数据包的标志位
- C# ArrayBuffer[转]
- Flash cs6 学习(二) 制作一个flash进度条
- 利用SwingWorker异步加载图片
- 8 设计模式之命令模式(八)
- 《混合存储综述》 总结