uva 1584 - Circular Sequence(环状序列)
2017-12-09 18:00
381 查看
长度为n的环状串有n种表示法,分别为从某
个位置开始顺时针得到。例如,图3-4的环状串
有10种表示:
CGAGTCAGCT,GAGTCAGCTC,AGTCAGCTCG等。在这些表示法中,字典序最小的称
为”最小表示”。
输入一个长度为n(n≤100)的环状DNA串(只包含A、C、G、T这4种字符)的一种表
示法,你的任务是输出该环状串的最小表示。例如,CTCC的最小表示是
CCCT,CGAGTCAGCT的最小表示为AGCTCGAGTC。
Sample Input
2
CGAGTCAGCT
CTCC
Sample Output
AGCTCGAGTC
CCCT
https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=829&page=show_problem&problem=4459
个位置开始顺时针得到。例如,图3-4的环状串
有10种表示:
CGAGTCAGCT,GAGTCAGCTC,AGTCAGCTCG等。在这些表示法中,字典序最小的称
为”最小表示”。
输入一个长度为n(n≤100)的环状DNA串(只包含A、C、G、T这4种字符)的一种表
示法,你的任务是输出该环状串的最小表示。例如,CTCC的最小表示是
CCCT,CGAGTCAGCT的最小表示为AGCTCGAGTC。
Sample Input
2
CGAGTCAGCT
CTCC
Sample Output
AGCTCGAGTC
CCCT
https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=829&page=show_problem&problem=4459
#include<iostream> #include<string> #include<cstdio> #include<string.h> using namespace std; int const N = 100; //比较从be1,和从be2开始的字串哪一个更小 int com(char *s,int be1,int be2) { int sl=strlen(s); for(int i=0;i<sl;i++) { //cout<<endl<<(be1+i)%N<<endl; //cout<<s[(be1+i)%N]<<"_"<<s[(be2+i)%N]<<endl; if(s[(be1+i)%sl]>s[(be2+i)%sl]) return be2; if(s[(be1+i)%sl]<s[(be2+i)%sl]) return be1; } return be1; } char s[N+5]; int main() { // char acgt[4]="ACGT"; int T=1; cin>>T; while(T--) { scanf("%s",s); int j=0; int be1=0,be2; for(int i=0;i<strlen(s);i++)//找最小的首字符给be1 { if(s[i]<s[be1]) { be1=i; } } //cout<<be1<<endl; for(int i=0;i<strlen(s);i++)//在最小的首字符中 找最小的字串 { if(s[i]==s[be1]) { if(com(s,be1,i)==i) be1=i; } } for(int i=0;i<strlen(s);i++) cout a907 <<s[(be1+i)%strlen(s)]; cout<<endl; } return 0; } ACat2017/12/9
相关文章推荐
- 3_6 环状序列(UVa1584)
- 2018.2.21【 UVa - 1584 】解题报告(紫书例题,环状序列,字典序)
- 环状序列,ACM/ICPC,UVa1584
- 例题3-6 环状序列(CircularSequence, ACM/ICPC Seoul 2004, UVa1584)
- 环状序列(UVa1584)
- UVA.1584 环状序列
- UVa 1584 Circular Sequence(环状序列)
- Uva1584-环状序列-Circular Sequence-字典序
- UVa1584 Circular Sequence(环状序列) (java版本)
- 环状序列(UVA1584)
- 例题3-6 环状序列 UVa1584
- UVa1584 环状序列 (Circular Sequence)
- UVA 1584 - Circular Sequence(环状序列)(字典序)
- 【紫书】例题3-6 环状序列(Circular Sequence, ACM/ICPC Seoul 2004, UVa1584)
- 紫书第三章 UVa 1584[环状序列]
- 环状序列(Circular Sequence, ACM/ICPC Seoul 2004, UVa1584)
- 环状序列(Circular Sequence, ACM/ICPC Seoul 2004, UVa1584)
- uva10570 外星人聚会 环状序列
- uva1584_水题(环状串的处理)
- UVa 1584 求余实现环状串