DNA排序
来源:互联网 发布:java 静态方法调用 编辑:程序博客网 时间:2024/05/21 18:18
5:DNA排序
- 查看
- 提交
- 统计
- 提问
- 总时间限制:
- 1000ms
- 内存限制:
- 65536kB
- 描述
- 现在有一些长度相等的DNA串(只由ACGT四个字母组成),请将它们按照逆序对的数量多少排序。逆序对指的是字符串A中的两个字符A[i]、A[j],具有i < j 且 A[i] > A[j] 的性质。如字符串”ATCG“中,T和C是一个逆序对,T和G是另一个逆序对,这个字符串的逆序对数为2。
- 输入
- 第1行:两个整数n和m,n(0<n<=50)表示字符串长度,m(0<m<=100)表示字符串数量
第2至m+1行:每行是一个长度为n的字符串 - 输出
- 按逆序对数从少到多输出字符串,逆序对数一样多的字符串按照输入的顺序输出。
- 样例输入
10 6AACATGAAGGTTTTGGCCAATTTGGCCAAAGATCAGATTTCCCGGGGGGAATCGATGCAT
- 样例输出
CCCGGGGGGAAACATGAAGGGATCAGATTTATCGATGCATTTTTGGCCAATTTGGCCAAA
#include<iostream>#include<cmath>#include<cstring>#include<algorithm>#include<iomanip>#include<queue>#include<stack>#include<vector>#include<set>#include<map>using namespace std;int n,m; string s[105];int num[105];int main(){cin>>n>>m;for(int i=0;i<m;++i){cin>>s[i];num[i]=0;for(int j=0;j<n;++j){for(int k=j+1;k<n;++k){if(s[i][j]>s[i][k]){num[i]++;}}}}for(int i=1;i<=m-1;++i){for(int j=0;j<m-i;j++){if(num[j]>num[j+1]){swap(s[j],s[j+1]);swap(num[j],num[j+1]);}}}for(int i=0;i<m;++i){cout<<s[i]<<endl;}return 0;}
阅读全文
0 0
- DNA Sorting(DNA排序)
- DNA排序
- DNA排序
- DNA排序
- DNA排序
- DNA排序
- POJ 1007 DNA 排序
- 2:DNA排序
- DNA排序(sort)
- openjudge DNA排序
- fafu 1453 DNA排序
- poj1007 DNA Sorting 排序
- poj 4086:DNA排序
- 【Openjudge】DNA排序
- DNA排序 poj
- POJ 1007 DNA 排序
- poj1007 DNA排序
- 17 DNA 排序
- libpcap详解
- TCP 相关大神博客
- Windows常见问题及解决
- TensorFlow 基础小记
- 自定义View----自定义轮播图
- DNA排序
- Bits*
- Nim的博弈详解(简单易懂)(一)
- 程序依赖DLL打包工具的制作
- UIScrollView
- Android应用的基本组成
- 《2017Android常用框架收录——Butterknife》
- Spark 自定义排序
- Android常用开源项目(四十五)