杭電 1425 sort 題解報告

2021-06-21 00:18:26 字數 660 閱讀 8967

problem description

給你n個整數,請按從大到小的順序輸出其中前m大的數。

input

每組測試資料有兩行,第一行有兩個數n,m(0output

對每組測試資料按從大到小的順序輸出前m大的數。

sample input

5 3

3 -35 92 213 -644

sample output

213 92 3

演算法:

這種題都是有暴力演算法的,但是暴力演算法慢而且占用記憶體大,顯然不可取

這裡用的演算法是「桶排序」法。

第一步,定義一堆桶,要足夠多,型別可以用int,但我用的是bool,這樣可以節省大量記憶體;

第二步,初始化桶,就是把桶倒乾淨;

第三步,向桶裡裝入與桶編號相同的數,空桶為0,不空為1;

第四步,按要求輸出。

#include #include using namespace std;

#define n 1000001

bool a[n];//布林變數組存0或1,比其他型別佔空間小

int main()

}printf("\n");

}return 0;

}

杭電 1418 抱歉 題解報告

problem description 非常抱歉,本來興沖沖地搞一場練習賽,由於我準備不足,出現很多資料的錯誤,現在這裡換乙個簡單的題目 前幾天在網上查詢acm資料的時候,看到乙個中學的奧數題目,就是不相交的曲線段分割平面的問題,我已經發到論壇,並且lxj 已經得到乙個結論,這裡就不 多講了,下面有...

杭電2050 2059題解

大一實在是太閒了,刷的杭電oj,因為當時只學了c,所有題解都是c 杭電acm2050 include int main while scanf d n return0 杭電acm2051 include int main while i printf n return0 杭電acm2052 incl...

杭電2037解題報告

題目 今年暑假不ac problem description 今年暑假不ac?是的。那你幹什麼呢?看世界盃呀,笨蛋!確實如此,世界盃來了,球迷的節日也來了,估計很多acmer也會拋開電腦,奔向電視了。作為球迷,一定想看盡量多的完整的比賽,當然,作為新時代的好青年,你一定還會看一些其它的節目,比如新聞...