算法竞赛入门经典(第二版)-刘汝佳-第三章-例题3-5 环状序列
来源:互联网 发布:php虚拟主机 编辑:程序博客网 时间:2024/05/17 01:09
题目:
长度为n的环状串有n种表示法,分别为从某
个位置开始顺时针得到。例如,图3-4的环状串
有10种表示:
CGAGTCAGCT,GAGTCAGCTC,AGTCAGCTCG等。在这些表示法中,字典序最小的称
为"最小表示"。
输入一个长度为n(n≤100)的环状DNA串(只包含A、C、G、T这4种字符)的一种表
示法,你的任务是输出该环状串的最小表示。例如,CTCC的最小表示是
CCCT,CGAGTCAGCT的最小表示为AGCTCGAGTC。
心得:
1、hi 和 history的字典序,hi更小。
2、在环形问题中,>=n的部分可以用%n来表示循环一圈。
代码:
#include"stdio.h"#include"string.h"int main(){int t,n,flag;char str[101];scanf("%d",&t);while(t--){flag=0;scanf("%s",str);n=strlen(str);for(int i=1;i<n;i++){for(int j=0;j<n;j++){if(str[(i+j)%n]<str[(flag+j)%n]){flag=i;break;}if(str[(i+j)%n]>str[(flag+j)%n])break;}}for(int i=0;i<n;i++){if(i+flag>=n)printf("%c",str[i+flag-n]);elseputchar(str[i+flag]);}putchar('\n');}}
1 0
- 算法竞赛入门经典(第二版)-刘汝佳-第三章-例题3-5 环状序列
- 算法竞赛入门经典(第二版)-刘汝佳-第三章 数组与字符串 环状序列
- 算法竞赛入门经典(第二版)-刘汝佳-第三章-例题3-5生成元
- 《算法竞赛入门经典2ndEdition 》例题3-6 环状序列(Circular Sequence, Uva1584)
- 环状序列 算法竞赛入门经典
- 算法竞赛入门经典(第二版)-刘汝佳-第三章 数组与字符串 例题+习题(17/18)
- 算法竞赛入门经典(第二版) 刘汝佳-第八章 高效算法设计 例题(13/19)
- 算法竞赛入门经典(第二版)-刘汝佳-第五章 C++与STL 例题(9/12)
- 算法竞赛入门经典(第二版)-刘汝佳-第六章 数据结构基础 例题(17/22)
- 算法竞赛入门经典(第二版)-刘汝佳-第七章 暴力求解法 例题(6/15)
- 算法竞赛入门经典(第二版)-刘汝佳-第九章 动态规划初步 例题(11/31)
- 算法之路二:刘汝佳算法竞赛入门经典 3.10环状序列 UVa1584
- 【算法竞赛入门经典第二版学习】第三章习题
- 算法竞赛入门经典第二版第三章习题
- 算法竞赛入门经典第二版 第三章
- 算法竞赛入门经典 第二版 例题6-5 移动盒子 Boxes in a Line uva12657
- 算法竞赛入门经典(第二版)-刘汝佳-第三章 数组与字符串 循环小数
- 算法竞赛入门经典(第二版)-刘汝佳-第三章 数组与字符串 分子量
- android studio快捷键
- 你应该了解nginx的七个原因
- Visio生成eps文件的方法
- ViewPager手指滑动转换界面
- byte[]与String互相转换
- 算法竞赛入门经典(第二版)-刘汝佳-第三章-例题3-5 环状序列
- cab包(active插件)的加载解决方案
- Android 保存Fragment状态,避免重复加载
- js函数名为click的时候出现了问题。
- 扩大VMware虚拟机中linux硬盘空间
- HealthKit框架的简要与基本使用(OC版)
- dubbo相关知识(一)
- 机器学习中的范数规则化之 L0、L1与L2范数
- Redis配置文件redis.conf 详解