為了豐富人民群眾的生活、支援某些社會公益事業,北塔市設定了一項彩票。該彩票的規則是:
(1) 每張彩票上印有 7 個各不相同的號碼,且這些號碼的取指範圍為 1~33。
(2) 每次在兌獎前都會公布乙個由七個各不相同的號碼構成的中獎號碼。
(3) 共設定 7 個獎項,特等獎和一等獎至六等獎。兌獎規則如下:
特等獎:要求彩票上 7 個號碼都出現在中獎號碼中。
一等獎:要求彩票上有 6 個號碼出現在中獎號碼中。
二等獎:要求彩票上有 5 個號碼出現在中獎號碼中。
三等獎:要求彩票上有 4 個號碼出現在中獎號碼中。
四等獎:要求彩票上有 3 個號碼出現在中獎號碼中。
五等獎:要求彩票上有 2 個號碼出現在中獎號碼中。
六等獎:要求彩票上有 1 個號碼出現在中獎號碼中。
注:兌獎時並不考慮彩票上的號碼和中獎號碼中的各個號碼出現的位置。例如,中獎號碼為 23 31 1 14 19 17 18,則彩票 12 8 9 23 1 16 7 由於其中有兩個號碼(23 和 1)出現在中獎號碼中,所以該彩票中了五等獎。
現已知中獎號碼和小明買的若干張彩票的號碼,請你寫乙個程式幫助小明判斷他買的彩票的中獎情況。
檔案的第一行只有乙個自然數 n (n < 1000) ,表示小明買的彩票張數;
第二行存放了 7 個介於 1 和 33 之間的自然數,表示中獎號碼;
在隨後的 n 行中每行都有 7 個介於 1 和 33 之間的自然數,分別表示小明所買的 n 張彩票。
依次輸出小明所買的彩票的中獎情況(中獎的張數),首先輸出特等獎的中獎張數,然後依次輸出一等獎至六等獎的中獎張數。
輸入 #1
2
23 31 1 14 19 17 18
12 8 9 23 1 16 7
11 7 10 21 2 9 31
輸出 #1
0 0 0 0 0 1 1
運用了一點點解題技巧
ac**
#include #include #include #include using namespace std;
int n;
int m;
int c[50];
int p[10];
int main()
for(int i=1;i<=n;i++)
p[prize]++;
} for(int i=7;i>=1;i--)
cout
}
P2550 AHOI2001 彩票搖獎
為了豐富人民群眾的生活 支援某些社會公益事業,北塔市設定了一 項彩票。該彩票的規則是 1 每張彩票上印有 7 個各不相同的號碼,且這些號碼的取指範圍為 1 33。2 每次在兌獎前都會公布乙個由七個各不相同的號碼構成的中獎號碼。3 共設定 7 個獎項,特等獎和一等獎至六等獎。兌獎規則如下 特等獎 要求...
題解 P2550 AHOI2001 彩票搖獎
題目鏈結 大家有沒有發現資料範圍好小呀 我們只需要開7 8的陣列就好!中間比較的時候懶得用for迴圈比較了。直接爆搜。廢話不多說,直接上 includeusing namespace std int a 7 作為中獎號碼 int b 7 作為每一回彩票號碼 int c 7 作為中獎的等級 intma...
AHOI2017初中組解題報告
題目描述 乙個n n的網格圖上有m個探測器,每個探測器有個探測半徑r,問這n n個點中有多少個點能被探測到。輸入格式 第一行3個整數n,m,r 接下來m行,每行兩個整數x,y表示第i個探測器的座標 輸出格式 能被探測到的點的個數 樣例輸入 5 2 1 3 3 4 2 樣例輸出 8 資料範圍 1 n,...