vj:https://vjudge.net/problem/UVA-1584

这个题讲的是一个圆环,圆环上面有一堆字母,找出字典序最小的那一圈

这个题我觉得直接用c语言的strcmp那一套感觉真是用不习惯,而且很快就出错,用c++的string类就比较简单了。

我的思路是既然要找出字典序最小,而且还是一个圆环可以把原来的字符串首位相连然后从第一位开始两个for,外面for

代表第一个开始的地方,里面for代表原来的字符串的长度,那么这样就能遍历所有的字符串用string直接比较字典序的大小即可

我的代码:

#include <iostream>
using namespace std;
main()
{
int n;
cin>>n;
while(n--)
{
string a;
cin>>a;
string min=a;
a=a+a;
//cout<<min<<" "<<a<<endl;
string test;
for(int i=;i<=min.size();i++)
{
test="";
for(int j=i;j<min.size()+i;j++)
test=test+a[j];
if(test<min)
min=test;
//cout<<test<<endl;
}
cout<<min<<endl;
}
}

之前的代码:

#include <iostream>
#include <string>
#include <cstring>
using namespace std;
main()
{
int jj;
cin>>jj;
int num=;
for(int i=;i<jj;i++)
{
char a[],t[],aa[];
cin>>a;
int n=strlen(a);
string c,min;
min=a;
int p=;
for(int j=n;j<*n;j++)
a[j]=a[p++];
for(int k=;k<n;k++)
{
p=-;
for(int j=k;j<n+k;j++)
t[++p]=a[j];
c=t;
if(c<min)
min=c;
}
strcpy(aa,min.c_str());
for(int j=;j<n;j++)
cout<<aa[j];
cout<<endl;
}
}

最新文章

  1. Python监控网站接口值
  2. 分享自制的13套 JQuery Mobile 界面主题(追加4套新款)
  3. Spring Security笔记:使用BCrypt算法加密存储登录密码
  4. 剑指Offer:面试题21——包含min函数的栈(java实现)
  5. uniq
  6. contentOffset,frame,bounds,contentSize,ContentInset
  7. Visual Studio 2010 类模板的修改
  8. 黑马程序员——JAVA基础之 == 和equals区别
  9. HTTP 错误 500(Internal Server Error)
  10. [设计模式] 19 观察者模式 Observer Pattern
  11. .net下载文件方法
  12. .Net程序猿乐Android发展---(10)框架布局FrameLayout
  13. Qt5官方demo分析集29——Extending QML - Property Value Source Example
  14. git中常用的指令
  15. AJAX扩展-POST传递参数并跳转页面
  16. 微信小程序入门一
  17. 免费试用MongoDB云数据库 (MongoDB Atlas)教程
  18. 4-13 object类,继承和派生( super) ,钻石继承方法
  19. 【struts2】&lt;package&gt;的配置
  20. Ubuntu环境下安装CUDA9.0

热门文章

  1. 我的Android进阶之旅------&amp;gt;Android关于ImageSpan和SpannableString的初步了解
  2. 第二章 在Html中使用JavaScript
  3. 曼哈顿距离(坐标投影距离之和)d(i,j)=|X1-X2|+|Y1-Y2|.
  4. [bzoj5404]party
  5. 第二周 Leetcode 493. Reverse Pairs(HARD)
  6. vue项目打包之后首页白屏的问题
  7. 搭建Git服务器(转载)
  8. Potted Flower(线段树+dp)
  9. U3D版本控制设置 Force Text优劣
  10. 关于二分查找 使用 lower_bound