uva1584 Circular Sequence(Uva-1584)
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)的更多相关文章
- Circular Sequence UVA - 1584
Some DNA sequences exist in circular forms as in the following figure, which shows a circular sequ ...
- UVa1584 Circular Sequence
#include <stdio.h>#include <string.h> int less(char* str, size_t len, size_t p, size_t q ...
- UVa 1584 Circular Sequence --- 水题
UVa 1584 题目大意:给定一个含有n个字母的环状字符串,可从任意位置开始按顺时针读取n个字母,输出其中字典序最小的结果 解题思路:先利用模运算实现一个判定给定一个环状的串以及两个首字母位置,比较 ...
- UVa 1584 Circular Sequence(环形串最小字典序)
题意 给你一个环形串 输出它以某一位为起点顺时针得到串的最小字典序 直接模拟 每次后移一位比較字典序就可以 注意不能用strcpy(s+1,s)这样后移 strcpy复制地址不能有重叠部 ...
- UVA.1584 环状序列
UVA.1584 环状序列 点我看题面 题意分析 给出你一段换装DNA序列,然后让你输出这段环状序列的字典序最小的序列情况. 字典序字面意思上理解就是按照字典编排的序列,其实也可以理解为按照ASCII ...
- uva 1584.Circular Sequence
题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem ...
- 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 ...
- 字典序UVa 1584 Circular Sequence
#include <iostream> #include <algorithm> #include <cmath> #include <cstdio> ...
- UVa -1584 Circular Sequence 解题报告 - C语言
1.题目大意 输入长度为n$(2\le n\le 100)$的环状DNA串,找出该DNA串字典序最小的最小表示. 2.思路 这题特别简单,一一对比不同位置开始的字符串的字典序,更新result. 3. ...
随机推荐
- LeetCode 690. Employee Importance (职员的重要值)
You are given a data structure of employee information, which includes the employee's unique id, his ...
- School Personal Contest #1 (Codeforces Beta Round #38)---A. Army
Army time limit per test 2 seconds memory limit per test 256 megabytes input standard input output s ...
- 安卓dex 文件结构简要说明
#ifndef _DEX_FILE_HELPER_ #define _DEX_FILE_HELPER_ //此文件仅仅是起帮助作用,帮助不太了解DexFile结构的了解一下DexFile相关结构,想更 ...
- cf578c Weakness and Poorness 三分
其实三分就是一个求单峰函数的最值的东西,用法比较统一.这个题就是观察发现不美好值是一个单峰函数,然后枚举t进行三分就行了. 题干: 给定一个长度为n的数组ai,求一个实数x,使得序列a1-x,a2-x ...
- sort与sorted的区别
描述 我们需要对List进行排序,Python提供了两个方法对给定的List L进行排序 : 方法1.用对List的成员函数sort进行排序 方法2.用内置函数sorte ...
- ArgumentError: You need to supply at least one validatio
创建: 2017/10/02 意思: validate没有内容 例: validates :title
- 洛谷P1613 跑路(最短路+倍增)
P1613 跑路 题目描述 小A的工作不仅繁琐,更有苛刻的规定,要求小A每天早上在6:00之前到达公司,否则这个月工资清零.可是小A偏偏又有赖床的坏毛病.于是为了保住自己的工资,小A买了一个十分牛B的 ...
- 引水工程 Kruskal + Prim
Kruskal题解 : 以案例输入为例 有五个缺水地区 , 这个个缺水地区之间建立联系的费用已经给出 并且之间水库的费用也已经给出 , 自己水库也已看为 是另一个 点 , 这样就有了 6 个点 , 这 ...
- 实战篇之实现 OutLook 中以 EDM 形式发送通知邮件
1.写 Html5 的 EDM 模板 EDM 源代码示例: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" ...
- 把datagrid转换成gridview
public gridview datagrid2gridview(datagrid dg) { gridview gv = new gridview(); foreach(var p in dg.c ...