[GRYZ2015]快排练习
生活随笔
收集整理的這篇文章主要介紹了
[GRYZ2015]快排练习
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
用快排完成n(n<=100)個人年齡的從小到大的排序,要求出生年相同的按月排。
?輸入:第一行n個人
???????? 2到n+1行出生? 年? 月(1992 9)
?輸出:年齡的從小到大的排序。
type ss=recordnian,yue:longint;end;var a:array[1..10000]of ss;n,i:longint;procedure sort(l,r:longint); var i,j,xn,xy:longint;y:ss; begini:=l;j:=r;xn:=a[(l+r) div 2].nian;xy:=a[(l+r) div 2].yue;repeatwhile (a[i].nian<xn)or((a[i].nian=xn)and(a[i].yue<xy))do inc(i);while (a[j].nian>xn)or((a[j].nian=xn)and(a[j].yue>xy))do dec(j);if i<=j thenbeginy:=a[i];a[i]:=a[j];a[j]:=y;inc(i);dec(j);end;until i>j;if i<r then sort(i,r);if j>l then sort(l,j); end;beginassign(input,'birth.in');reset(input);assign(output,'birth.out');rewrite(output);readln(n);for i:=1 to n doreadln(a[i].nian,a[i].yue);sort(1,n);for i:=1 to n dowriteln(a[i].nian,' ',a[i].yue);close(input);close(output); end.沒什么別的,只是想說當時快排的時候很不理解,都不會寫,寫程序就用PASCAL自帶的排序,如今晚上小測驗修改后的快排可以一遍AC感覺也是蠻欣慰的了。好像隨著時間的推移,學到的東西越來越多,一些以前的東西更好理解。有時不必過分拘泥于現(xiàn)在,向下走,或許回頭看看現(xiàn)在不算什么。
轉(zhuǎn)載于:https://www.cnblogs.com/yangqingli/p/4931126.html
總結
以上是生活随笔為你收集整理的[GRYZ2015]快排练习的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CSS选择器笔记,element ele
- 下一篇: rabbitmq 集群搭建