算法竞赛入门经典(第二版)-刘汝佳-第三章 数组与字符串 环状序列
2016-07-27 13:08
435 查看
http://acm.hust.edu.cn/vjudge/contest/123670#problem/F 密码5201
![](https://oscdn.geek-share.com/Uploads/Images/Content/201607/9e3ad633dc7113731ef5c6b52fb3953e)
思路
1.找到最小的字母,以那个字母为第0个字母,存入二维数组中。
2.遍历二维数组,找到最小的字符串,输出。
#include<stdio.h> #include<string.h> int main() { //freopen("C:\\Users\\5201\\Desktop\\1.txt","r",stdin); int n; scanf("%d",&n);getchar(); while(n--) { int ch; char s[105]; int i=0,mi=65535; while( ch=getchar() ) { if(ch==EOF||ch=='\n') break; s[i]=ch; mi=mi<ch?mi:ch; i++; } s[i]=0; int len=strlen(s); char a[101][101]; int count=0; for(i=0;i<len;i++) { if(s[i]==mi) { int j; for(j=0;j<len;j++) { a[count][j]=s[(i+j)%len]; } a[count][len]=0; count++; } } mi=0; for(i=1;i<count;i++) { if( strcmp(a[mi],a[i])>0 ) mi=i; } puts(a[mi]); } }
思路
1.找到最小的字母,以那个字母为第0个字母,存入二维数组中。
2.遍历二维数组,找到最小的字符串,输出。
相关文章推荐
- Python--列表解析
- C/C++内存泄漏及检测
- Working with Git
- [LeetCode练习题-C语言]168. Excel Sheet Column Title
- OpenCV中HSV颜色模型及颜色分量范围
- Session机制与应用(安全退出、网页验证码)
- 微信热修复开源库 Tinker imitator 原理篇
- GF-动态规划dp-多维费用的背包
- es6箭头函数
- 消除display设置为inline-block产生间距的方法
- Linux基础系列(2命令帮助的详细获取)
- STM32的BOOT0和BOOT1
- iOS开发-键盘通知
- SG函数 多校Chess
- final、finally、finalize
- js学习笔记
- HDU 5755 Gambler Bo(高斯消元裸题)——2016 Multi-University Training Contest 3
- docker问题
- Git学习与训练
- HDU 5754 Life Winner Bo (各种博弈融合)