】奖项颁发【
廢話不說(shuō),直接看題——
?題目描述
最近,全國(guó)第88屆信息學(xué)奧林匹克競(jìng)賽順利結(jié)束。本次競(jìng)賽共有n名參賽者,每個(gè)人都獲得了一定的分?jǐn)?shù)。作為本次比賽的負(fù)責(zé)人,你將根據(jù)以下標(biāo)準(zhǔn)頒布獎(jiǎng)狀:·至少有一個(gè)人會(huì)獲得獎(jiǎng)狀·得分為0的人不能獲得獎(jiǎng)狀·當(dāng)有一個(gè)人獲得獎(jiǎng)狀后,分?jǐn)?shù)不低于他的人也必須獲得獎(jiǎng)狀接下來(lái),請(qǐng)你確定,有多少種頒發(fā)獎(jiǎng)狀的方案,并輸出可能的方案數(shù)。輸入格式?
第一行一個(gè)數(shù)字n(1≤n≤100),表示參加比賽的人數(shù)。接下來(lái)一行包含n個(gè)整數(shù)a1,a2,……,an(0≤ai≤600),表示第i個(gè)人獲得的分?jǐn)?shù)輸入保證至少有一個(gè)人得分不為0。樣例1號(hào)
樣例輸入:4 1 3 3 2樣例輸出:3~~對(duì)不起沒(méi)有2號(hào)
讀完題我不禁感嘆一句:得個(gè)獎(jiǎng)這么簡(jiǎn)單!!!
獎(jiǎng),能有我的香
1.至少有 1 個(gè)人有獎(jiǎng)狀,
2.得分為 0 的人沒(méi)有獎(jiǎng)狀,
3.有人獲得獎(jiǎng)狀后,分?jǐn)?shù)不低于他的人也得有獎(jiǎng)狀。
這不就是算有多少不同的分?jǐn)?shù)(除 0 分外)嗎?
? ? ? na~的影子不就浮現(xiàn)了嗎,
給代碼:
#include <bits/stdc++.h> using namespace std; int main(){int n, a[100];int s = 0;bool v[601] = {};cin >> n;for (int i = 0; i < n; i++) cin >> a[i]; for (int i = 0; i < n; i++){if (a[i] != 0 && v[a[i]] == false){v[a[i]] = true;s++;}}cout << s;return 0-0; }?
?
?點(diǎn)個(gè)贊再走吧!
?
?
總結(jié)