第三部分:POJ 1007 解题报告
来源:互联网 发布:希尔伯特变换 c语言 编辑:程序博客网 时间:2024/05/22 10:22
POJ 1007 DNA Sorting
【问题描述】
序列“未排序程度”的一个计算方式是元素乱序的元素对个数。例如:在单词序列“DAABEC'”中,因为D大于右边四个单词,E大于C,所以计算结果为5。这种计算方法称为序列的逆序数。序列“AACEDGG”逆序数为1(E与D)——近似排序,而序列``ZWQM'' 逆序数为6(它是已排序序列的反序)。
你的任务是分类DNA字符串(只有ACGT四个字符)。但是你分类它们的方法不是字典序,而是逆序数,排序程度从好到差。所有字符串长度相同。
C语言代码
#include<stdio.h>struct inversion{int t;int in;} ;int main(){char DNA[110][60];int m,n;int i,j,k,inn;struct inversion inv[100],tmp;scanf("%d%d",&n,&m);/*读入数据*/for(i=0;i<m;i++){scanf("%s",DNA[i]);inn=0;for(j=0;j<n-1;j++)for(k=j+1;k<n;k++)if(DNA[i][j]>DNA[i][k])inn++;/*记录逆序数*/inv[i].t=i;inv[i].in=inn;} /*选择排序法*/for(i=0;i<m-1;i++){k=i;for(j=i+1;j<m;j++)if(inv[j].in<inv[k].in)k=j;if(i!=k){tmp=inv[i];inv[i]=inv[k];inv[k]=tmp;}}/*输出数据*/for(i=0;i<m;i++)printf("%s\n",DNA[inv[i].t]);return 0;}
阅读全文
0 0
- 第三部分:POJ 1007 解题报告
- 第三部分:POJ 1000 解题报告
- 第三部分:POJ 1003 解题报告
- 第三部分:POJ 1005 解题报告
- 第三部分:POJ 1006 解题报告
- POJ 1007解题报告
- SXOI2016 部分解题报告
- POJ 1007(无序度 排序) 解题报告
- POJ 1007 解题报告 DNA Sorting
- poj 1007DNA Sorting解题报告
- POJ 1007 DNA Sorting [解题报告] Java
- poj 1007 DNA Sorting 解题报告
- poj数百篇解题报告
- poj 1141解题报告
- poj 1001解题报告
- poj 1011 解题报告
- poj 1087 解题报告
- poj 2153解题报告
- 这 10 个 JavaScript 的难点你都懂吗?
- select @@identity的用法
- Android-Annotation教你写自定义注解
- Idea中Git的使用和两种类型的冲突解决 转载
- NoSQL概念和特点
- 第三部分:POJ 1007 解题报告
- Checksum 校验和
- 适配器优化中: //使用内存缓存+使用磁盘缓存+设置图片格式
- 信号源、示波器使用中阻抗匹配问题
- 关于AUC(占坑)
- javascript解析
- SSM框架入门和搭建 十部曲
- 梯度下降法、坐标下降法、牛顿迭代法
- 二级购物车