題目如下,有n個人參加程式設計比賽,比賽結束後每個人都會得到乙個分數,現在所有人排成一圈(第1個與第n個相鄰)領取獎品,要求:
1.如果某個人分數比左右的人高,那麼獎品也要比左右的人多
2.每個人至少得到乙個獎品
問最少應該準備多少個獎品。
**輸入描述
第一行是整數n,表示n個例子
然後輸入第1個例子的人數,再輸入分數。。。
如 輸入22
1 24
1 2 3 3
則輸出3
8因為以上兩個例子分配的禮物數分別是
1 21 2 3 2
解析:題目的意思是如果某人分數比左面的人高,獎品必須比左面的人高,右面也如此(注意如果分數相等則不做要求)
**如下,可以從最後面的main出發往上找函式
#include#includeusing namespace std;
void compute(int** p, int* n, int a)
} while (count < n[m])
else if (p[m][(i + n[m]) % n[m]] > p[m][(i + n[m] - 1) % n[m]] && symbol[(i + n[m] - 1) % n[m]] == 1 && p[m][(i + n[m]) % n[m]] <= p[m][(i + n[m] + 1) % n[m]])
else if (p[m][(i + n[m]) % n[m]] > p[m][(i + n[m] + 1) % n[m]] && symbol[(i + n[m] + 1) % n[m]] == 1 && p[m][(i + n[m]) % n[m]] <= p[m][(i + n[m] - 1) % n[m]])
else
continue;}}
} for (int i = 0; i < n[m]; i++)
cout <> j;
if (j < 1)
return;
int **a = new int*[j];
int *p = new int[j];
for (int i = 0; i < j; i++)
} compute(a, p, j);
}int main()
華為的一道機考題,大端與小端
現定義一種字元編碼,其編碼格式如下 第乙個字元表示後續8個字元序 字元 0 表示小端,字元 1 表示大端 後續8個字元,每個字元代表乙個位元組 編碼解析之後字串採用大端模式 例如編碼組 012345678 解析之後的大端字串為 87654321 反過來了 編碼組 112345678 解析之後的大端字...
一道新奇的招聘題
我的老同學現在富得流油。他開創了乙個軟體公司,開發了一系列軟體,生意越做越大。今天他來到這個城市後馬上打 給我。是我啊!聽出來了嗎?是這樣的,我到這兒的大學招畢業生,要在這兒呆上五天,咱哥們趁這個時間好好聚一聚。我做東!既然他要做東,我理所當然順水推舟。人家是老闆,不吃白不吃!我來到他下榻的賓館,看...
關於js陣列的一道小考題
網上看到的一道關於js陣列的小考題,藉此學習練習一下,也是拿來作為部落格開篇之作吧!題目如下 給定乙個隨機數組,陣列可能包含陣列 也就是說陣列元素可能為陣列 要求用js實現乙個函式,返回該陣列中所有元素,重複的要求去掉。例如 陣列 2,3,4,6,3,8 12,10 返回結果為 2,3,4,6,8,...