POJ 1007(求逆序对数)
来源:互联网 发布:大智慧编程教程 编辑:程序博客网 时间:2024/05/01 22:31
求逆序对数,2关键字排序
Program P1007;var n,m,i,j,k,l,p:longint; a:array[1..200] of string; s:string; b,num:array[1..200] of longint;function h(s:string):longint;var i,j,a,c,g,t:longint;begin a:=0; c:=0; g:=0; t:=0; h:=0; for i:=length(s) downto 1 do begin if s[i]='A' then inc(a); if s[i]='C' then begin inc(c); inc(h,a); end; if s[i]='G' then begin inc(g); inc(h,a+c); end; if s[i]='T' then begin inc(t); inc(h,a+c+g); end; end;end;procedure qsort(l,r:longint);var i,j,m,p:longint; s2:string;begin i:=l; j:=r; m:=b[(l+r) div 2]; repeat while b[i]<m do inc(i); while b[j]>m do dec(j); if i<=j then begin p:=b[i]; b[i]:=b[j]; b[j]:=p; p:=num[i]; num[i]:=num[j]; num[j]:=p;{ s2:=a[i]; a[i]:=a[j]; a[j]:=s2;} inc(i); dec(j); end; until i>j; if l<j then qsort(l,j); if i<r then qsort(i,r);end;begin readln(n,m); for i:=1 to m do begin readln(a[i]); b[i]:=h(a[i]); num[i]:=i; end; qsort(1,m); i:=1; while (i<m) do begin if b[i]<b[i+1] then inc(i) else begin for j:=i+1 to m do if b[j]<>b[i] then break; if (b[i]<>b[m]) then dec(J); for k:=i to j-1 do for l:=k+1 to j do if num[k]>num[l] then begin p:=num[k]; num[k]:=num[l]; num[l]:=p; { s:=a[k]; a[k]:=a[l]; a[l]:=s; } end; i:=j+1; end; end; for i:=1 to m do writeln(a[num[i]]);end.
- POJ 1007(求逆序对数)
- poj 求逆序对数
- POJ 2299 Ultra-QuickSort (求序列的逆序对数)
- POJ 2299 Ultra-QuickSort(归并排序求逆序对数)
- POJ 1804 Brainman (归并排序 -- 求逆序对数)
- POJ 2299 归并排序 求逆序对数
- POJ 0809 求逆序对数(归并排序求逆序数)
- POJ 2299(逆序对数)
- 求逆序对数(利用归并排序)
- hdu1394(线段树求逆序对数)
- 求逆序对数
- 求逆序对数
- 求数组逆序对数
- 10.求逆序对数
- 求逆序对数
- 1:求逆序对数
- 归并求逆序对数
- openjudge 求逆序对数
- HDU 一卡通大冒险
- 临沂批发城的网络冲动
- POJ2240
- 母函数的定义以及整数拆分模板 母函数(Generating function)详解
- 图像处理之仿画笔效果一
- POJ 1007(求逆序对数)
- 程序员如何提高自己的英语水平?
- jquery xheditor
- Twitter粉丝交易猖獗:1000个粉丝18美元
- hdu1085 母函数的应用之每种硬币有个数限制
- web2.0网站十二行打油诗
- hibernate映射继承关系三
- android ntfs-3g移植
- Repeater中的下拉列表DropDownList绑定数据源