UVa 1584 Circular Sequence(环状序列)
来源:互联网 发布:淘宝网陶瓷杯 编辑:程序博客网 时间:2024/03/29 07:50
//长度为n的环状串有n种表示方法,分别为从某个位置开始顺时针得到的。//字典序最小的称为最小表示//输入一个长度为n的环状DNA串(只含A,C,G,T)这四种字符//输出该串的最小表示#include <stdio.h>#include <stdlib.h>#include <string.h>#define MAXN 105int main(){ int n; int length; char string[MAXN]; char min[MAXN]; char trans[MAXN*2]; scanf("%d",&n); while(n--){ scanf("%s",string); strcpy(min,string); length=strlen(string); for(int i=1;i<=length-1;i++){ strcpy(trans,string+i); strcpy(trans+length-i,string); trans[length]='\0'; if(strcmp(trans,min)<0) strcpy(min,trans); } puts(min); } return 0;}/*// UVa1584(LA3225) Circular Sequence// Rujia Liu#include<stdio.h>#include<string.h>#define maxn 105// 环状串s的表示法p是否比表示法q的字典序小int less(const char* s, int p, int q) {//思路好!!! int n = strlen(s); for(int i = 0; i < n; i++) if(s[(p+i)%n] != s[(q+i)%n]) return s[(p+i)%n] < s[(q+i)%n]; return 0; // 相等}int main() { int T; char s[maxn]; scanf("%d", &T); while(T--) { scanf("%s", s); int ans = 0; int n = strlen(s); for(int i = 1; i < n; i++) if(less(s, i, ans)) ans = i; for(int i = 0; i < n; i++) putchar(s[(i+ans)%n]);//用的好,大致思路可以相当于以前题目location=(location+1)%n; putchar('\n'); } return 0;}*/
1 0
- UVa 1584 Circular Sequence(环状序列)
- UVA 1584 - Circular Sequence(环状序列)(字典序)
- Uva1508 Circular Sequence 环状序列
- UVa1584 环状序列 (Circular Sequence)
- Uva1584-环状序列-Circular Sequence-字典序
- uva 1584 Circular Sequence(环状串的最小字典序表示法)
- 环状序列(Circular Sequence, ACM/ICPC Seoul 2004, UVa1584)
- UVa1584 Circular Sequence(环状序列) (java版本)
- 环形字符串比较-环状序列3.6circular sequence
- 环状序列(Circular Sequence, ACM/ICPC Seoul 2004, UVa1584)
- UVa 1584 Circular Sequence
- UVa 1584 - Circular Sequence
- UVA 1584 - Circular Sequence
- UVA - 1584 Circular Sequence
- UVa 1584 - Circular Sequence
- UVa-1584Circular Sequence
- 【Uva 1584】 Circular Sequence
- UVa 1584 - Circular Sequence
- 多线程join(),wait(),nitify()运用
- 最长上升子序列的长度的o(nlogn)算法
- 关于android中本地图片的批量加载
- windows下安装memcache
- JavaScript使用技巧45招
- UVa 1584 Circular Sequence(环状序列)
- CodeForces 672B Different is Good(和而不同)
- android线程
- 12. Integer to Roman **
- js自定义右键菜单
- 在Unity 5中优化SkinnedMeshRenderer
- Python中input和raw_input的一点区别
- 解决window.open 会被IE阻止的问题
- 黑客是怎样入侵你的网站的