环装序列 (Circular Sequence, ACM/ICPC Seoul 2004, UVa1584)
来源:互联网 发布:idn域名值钱吗 编辑:程序博客网 时间:2024/05/17 01:04
长度为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个串的序列。
个人认为处理字符串练手比较有用
#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;}
1 0
- 环装序列 (Circular Sequence, ACM/ICPC Seoul 2004, UVa1584)
- 环状序列(Circular Sequence, ACM/ICPC Seoul 2004, UVa1584)
- 环状序列(Circular Sequence, ACM/ICPC Seoul 2004, UVa1584)
- UVa1584 环状序列 (Circular Sequence)
- 环状序列,ACM/ICPC,UVa1584
- Uva1584-环状序列-Circular Sequence-字典序
- UVa1584 - Circular Sequence
- UVA1584 - Circular Sequence
- uva1584 - Circular Sequence
- uva1584 Circular Sequence
- UVA1584 UVALive3225 Circular Sequence
- UVa1584 Circular Sequence
- UVa1584 - Circular Sequence
- UVa1584-Circular Sequence
- UVa1584 Circular Sequence(环状序列) (java版本)
- 环装序列(circular sequence)
- 习题5-2 Ducci序列(Ducci Sequence, ACM/ICPC Seoul 2009, UVa1594)
- UVa1584——Circular Sequence
- angular 使用 ui-router 设计网页
- Python 正则表达式
- 运行Struts项目时出现java.lang.reflect.InvocationTargetException异常解决办法
- 火星人家园关注移动互联读者
- BZOJ3108: [cqoi2013]图的逆变换
- 环装序列 (Circular Sequence, ACM/ICPC Seoul 2004, UVa1584)
- touchscreen属性与焦点(actionabr/toolbar )
- shareSDK不进回调方法
- MYSQL用户管理
- 39.ajaxfileupload文件上传前端代码
- linux du命令参数及用法详解---linux统计磁盘空间大小命令
- 2017.1.13总结
- 机器学习——概率论基础
- 修改Android源码编译输出目录