2015 3 CCF數字排序(雜湊方式解題)

2021-10-04 03:49:19 字數 1164 閱讀 2586

2023年3月

ccf考試第二題:

運用雜湊解題

本題雖然使用c++編寫,但沒有用到c++中的功能,只需將標頭檔案換成#include就是可以作為c語言通過編譯

依據題目資訊本體考察的是計數能力,所以通常利用雜湊方法來解題。

方法一:

#include

using

namespace std;

intmain

(int argc,

char

** ar**)

; cin>>n;

int a[

1010]=

;for

(int i=

0;i)//運用雜湊記錄資料

int g=0;

for(

int i=

1;i<=

1000

;i++

)//將有效數的個數存入乙個陣列

}int temp=0;

for(

int i=

0;i1;i++

)//將上面陣列進行降序排列 }}

int k=0;

for(

int i=

0;i}return0;

}

下面方法是利用sort函式排序的簡便方法適用與c++

方法二:

#include

#include

#define max 1010

using

namespace std;

struct sanlie//創造結構體方便後面排序

;bool

cmp(sanlie a,sanlie b)

//cmp函式在sort中運用

intmain()

for(

int i=

0;i)//通過雜湊計數

sort

(a,a+

1001

,cmp)

;//排序0-1000元素所以為1001

for(

int i=

0;i<=

1000

;i++

)else

//退出

}return0;

}

CCF認證 201703 2排隊

問題描述 體育老師小明要將自己班上的學生按順序排隊。他首先讓學生按學號從小到大的順序排成一排,學號小的排在前面,然後進行多次調整。一次調整小明可能讓一位同學出隊,向前或者向後移動一段距離後再插入佇列。例如,下面給出了一組移動的例子,例子中學生的人數為8人。0 初始佇列中學生的學號依次為1,2,3,4...

CCF認證201512 1 數字之和

問題描述 試題編號 201512 1 試題名稱 數字之和 時間限制 1.0s 記憶體限制 256.0mb 問題描述 問題描述 給定乙個十進位制整數 n,輸出 n的各位數字之和。輸入格式 輸入乙個整數 n。輸出格式 輸出乙個整數,表示答案。樣例輸入 20151220 樣例輸出 13 樣例說明 2015...

CCF 201503 2 數字排序

思路 1。因為輸入數字是0 1000的整數,故用乙個大小為1001的int陣列a 1001 a i 表示數字i出現的次數 2.用對把出現次數不為0,即a i 0的數字組合成對 數字,數字出現次數 放入向量 3。定義向量的小於方式,對向量進行排序,依次輸出向量元素。include include in...