环装序列 (Circular Sequence, ACM/ICPC Seoul 2004, UVa1584)
2017-01-16 10:38
405 查看
长度为n的环状串有n种表示法,分别为某个位置开始顺时针得到。例如,图中的环状串有10种表示:
CGAGTCAGCT,GAGTCAGCTC,AGTCAGCTCG等。在这些表示法中,字典序最小的称为“最小表示”。
输入一个长度为n(n<=100)的环状DNA串(只包含A、C、G、T这4种字符)的一种表示法,你的任务是输出该环状串的最小表示。例如,CTCC的最小表示是CCCT,CGAGTCAGCT的最小表示为AGCTCGAGTC.
输入:
在输入文件的第一行 为序列数量。每一个测试用例都需要一行包含一个循环序列,这个序列被写成一个任意的线性序列。由于循环序列是DNA串,只有四个符号:A,C,G,T。每一序列的长度为n(2<=n<=100)。
输出:
每行为串的字典序最小的序列。下面的样例为2个串的序列。
个人认为处理字符串练手比较有用
CGAGTCAGCT,GAGTCAGCTC,AGTCAGCTCG等。在这些表示法中,字典序最小的称为“最小表示”。
输入一个长度为n(n<=100)的环状DNA串(只包含A、C、G、T这4种字符)的一种表示法,你的任务是输出该环状串的最小表示。例如,CTCC的最小表示是CCCT,CGAGTCAGCT的最小表示为AGCTCGAGTC.
输入:
在输入文件的第一行 为序列数量。每一个测试用例都需要一行包含一个循环序列,这个序列被写成一个任意的线性序列。由于循环序列是DNA串,只有四个符号:A,C,G,T。每一序列的长度为n(2<=n<=100)。
输出:
每行为串的字典序最小的序列。下面的样例为2个串的序列。
个人认为处理字符串练手比较有用
#include <iostream> #include <string.h> using namespace std; int nless(char* str, int p, int p2) { int length = strlen(str); for (int i = 0; i < length; i++) { if (str[(p2 + i) % length] < str[(p + i) % length]) { return 1; }else if (str[(p2 + i) % length] > str[(p + i) % length]) { return 0; } } return 0; } int main() { char* str = "ATTAT"; int length = strlen(str); int ans = 0; for (int i = 1; i < length; i++) { if (nless(str, ans, i) == 1) { ans = i; } } // cout<<ans<<endl; for (int i = 0; i < length; i++) { cout<<str[(ans + i) % length]; } cout<<endl; return 0; }
相关文章推荐
- 环状序列(Circular Sequence, ACM/ICPC Seoul 2004, UVa1584)
- 【紫书】例题3-6 环状序列(Circular Sequence, ACM/ICPC Seoul 2004, UVa1584)
- 例题3-6 环状序列(CircularSequence, ACM/ICPC Seoul 2004, UVa1584)
- 环状序列(Circular Sequence, ACM/ICPC Seoul 2004, UVa1584)
- Circular Sequence,ACM/ICPC Seoul 2004,UVa 1584
- 3-7 DNA序列(DNA Consensus String, ACM/ICPC Seoul 2006, UVa1368)
- DNA序列(DNA Consensus String, ACM/ICPC Seoul 2006, UVa1368)
- 弱键(Weak Key, ACM/ICPC Seoul 2004, UVa1618)
- DNA序列(DNA Consensus String, ACM/ICPC seoul 2006, UVa 1368)
- 习题5-2 Ducci序列(Ducci Sequence, ACM/ICPC Seoul 2009, UVa1594)
- UVa1584 环状序列 (Circular Sequence)
- DNA序列 (DNA Consensus String, ACM/ICPC Seoul 2006 UVa1368)
- 环状序列,ACM/ICPC,UVa1584
- 关于"对称轴 (Symmetry, ACM/ICPC Seoul 2004, UVa1595"的讨论
- 生成元(Digit Generator, ACM/ICPC Seoul 2005, UVa1583)
- UVa 1584:Circular Sequence
- [数论]Irrelevant Elements, ACM/ICPC NEERC 2004, Uva1635
- 分子量 (Molar Mass, ACM/ICPC Seoul 2007, UVa1586)
- 习题3-2 分子量(Molar Mass, ACM/ICPC Seoul 2007, UVa1586)
- 分子量 (Molar Mass,ACM/ICPC Seoul 2007,UVa 1586)