華為OD三道編程機考機試社招校招留學(xué)生筆試




限時120min的三道編程題:
1. (100分)有m個村民,獲得了總額為n的捐款,數(shù)組a[1..m]是每個村民的資產(chǎn)金額。把捐款分配給村民,使得盡可能多的村民的資產(chǎn)變?yōu)橄嗟?,記此時相等的資產(chǎn)金額為b,資產(chǎn)相等的村民數(shù)為k. 如果剩余捐款不能使某村民的資產(chǎn)增長到b,則不分配給該村民,剩余捐款均作為公共基金。在盡可能多的村民的資產(chǎn)變?yōu)橄嗟鹊那疤嵯?,使得公共基金盡可能少,輸出此時最大相等資產(chǎn)的村民數(shù)k,和最少公共基金的值,用空格分隔。
a) 輸入為m, n和a[1..m].
b) 已知2 <= m <= 10^4, 1 <= n <= 10^8, a[i]的范圍忘了。
2. (200分)餐廳的座位分布是一個m*n的0-1矩陣,其中0表示空座位,1表示有人坐著。因疫情防控需要,要求任何兩個人不能上下左右相鄰地坐(可以斜著坐),輸出此時還能按要求坐下的最大人數(shù)。
a) 輸入為m, n和m*n的0-1矩陣。
b) 已知m, n <= 20.
3. (300分)有一張黑白二值圖像,可以表示為一個m*n的0-1矩陣,其中0表示白像素點,1表示黑像素點。一個連通塊指的是上下左右相鄰的一整塊黑色塊,其大小就是其中1的個數(shù)?,F(xiàn)在最多可以將兩個0改成1,希望構(gòu)成一個最大的連通塊,輸出這個最大連通塊的大小。
a) 輸入為m, n和m*n的0-1矩陣。
b) 已知m, n <= 100.???????????????
#華為編程語言#華為春招#華為筆試#華為OD#華為od測試#華為od#華為入職#華為測試工程師
標簽: