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;
}
}

uva1584 Circular Sequence(Uva-1584)的更多相关文章

  1. Circular Sequence UVA - 1584

    ​ Some DNA sequences exist in circular forms as in the following figure, which shows a circular sequ ...

  2. UVa1584 Circular Sequence

    #include <stdio.h>#include <string.h> int less(char* str, size_t len, size_t p, size_t q ...

  3. UVa 1584 Circular Sequence --- 水题

    UVa 1584 题目大意:给定一个含有n个字母的环状字符串,可从任意位置开始按顺时针读取n个字母,输出其中字典序最小的结果 解题思路:先利用模运算实现一个判定给定一个环状的串以及两个首字母位置,比较 ...

  4. UVa 1584 Circular Sequence(环形串最小字典序)

    题意  给你一个环形串   输出它以某一位为起点顺时针得到串的最小字典序 直接模拟   每次后移一位比較字典序就可以  注意不能用strcpy(s+1,s)这样后移  strcpy复制地址不能有重叠部 ...

  5. UVA.1584 环状序列

    UVA.1584 环状序列 点我看题面 题意分析 给出你一段换装DNA序列,然后让你输出这段环状序列的字典序最小的序列情况. 字典序字面意思上理解就是按照字典编排的序列,其实也可以理解为按照ASCII ...

  6. uva 1584.Circular Sequence

    题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem ...

  7. Circular Sequence,ACM/ICPC Seoul 2004,UVa 1584

    #include <stdio.h> #include <string.h> #define maxn 105 int lss(const char *s,int p,int ...

  8. 字典序UVa 1584 Circular Sequence

    #include <iostream> #include <algorithm> #include <cmath> #include <cstdio> ...

  9. UVa -1584 Circular Sequence 解题报告 - C语言

    1.题目大意 输入长度为n$(2\le n\le 100)$的环状DNA串,找出该DNA串字典序最小的最小表示. 2.思路 这题特别简单,一一对比不同位置开始的字符串的字典序,更新result. 3. ...

随机推荐

  1. LeetCode 141. Linked List Cycle (链表循环)

    Given a linked list, determine if it has a cycle in it. Follow up:Can you solve it without using ext ...

  2. 快学Scala习题解答—第十章 特质

    10 特质 10.1 java.awt.Rectangle类有两个非常实用的方法translate和grow,但可惜的是像java.awt.geom.Ellipse2D这种类没有. 在Scala中,你 ...

  3. Image图片处理

    public class Imager { #region 正方型裁剪并缩放 /// <summary> /// 正方型裁剪 /// 以图片中心为轴心,截取正方型,然后等比缩放 /// 用 ...

  4. XAML实例教程系列 - 命名空间(NameSpace) 三

    XAML实例教程系列 - 命名空间(NameSpace) 2012-05-28 14:14 by jv9, 2205 阅读, 10 评论, 收藏, 编辑 上一篇曾提及XAML中,每个对象元素的声明是对 ...

  5. 插入排序(1)——直接插入排序(insert sort)

    假设有一组无序序列 R0, R1, ... , RN-1. (1) 我们先将这个序列中下标为 0 的元素视为元素个数为 1 的有序序列. (2) 然后,我们要依次把 R1, R2, ... , RN- ...

  6. 转 一个SMD 0805的LED的电流,电压,亮度关系表

    Vf就是led的导通电压. 一个SMD 0805的LED的电流,电压,亮度关系表Vf              If(算)     亮度1.74v       0.46mA      做指示灯不刺眼刚 ...

  7. 基于Linux的v4l2视频架构驱动编写(转载)

    转自:http://www.linuxidc.com/Linux/2011-03/33022.htm 其实,我刚开始一直都不知道怎么写驱动,什么都不懂的,只知道我需要在做项目的过程中学习,所以,我就自 ...

  8. Offer收割_4

    1.水题 2.BFS宽搜(使用优先队列priority_queue) 4.题意:给数组a.要求重排列数组,使得数组中的任意相邻的两个元素不同.如果存在多个方案,那么选择字典序最小的方案.  如果不能满 ...

  9. .net Jquery动态显示当前时间

    <span id="Timer"></span> <script type="text/javascript"> $(fun ...

  10. Java引用jar的优化

    一般java的类文件开头都是各种引用: 如 上图的引用可以写成