【蘑菇街】投籃遊戲
阿新 • • 發佈:2018-11-05
題目描述
有一個投籃遊戲。球場有p個籃筐,編號為0,1...,p-1。每個籃筐下有個袋子,每個袋子最多裝一個籃球。有n個籃球,每個球編號xi 。規則是將數字為xi 的籃球投到xi 除p的餘數為編號的袋裡。若袋裡已有籃球則球彈出遊戲結束輸出i,否則重複至所有球都投完。輸出-1。問遊戲最終的輸出是什麼?
輸入描述:
第一行兩個整數p,n(2≤p,n≤300)。p為籃筐數,n為籃球數。接著n行為籃球上的數字xi(0≤xi≤1e9)
輸出描述:
輸出遊戲的結果
示例1
輸入
10 5 0 21 53 41 53
輸出
4
#define _CRT_SECURE_NO_WARNINGS int main() { int p, n; while (cin >> p >> n) { vector<bool> table(p, 0); int flag = 0; for (int i = 0; i < n; i++) { int label; scanf_s("%d\n", &label); if (!table[label%p]) // no ball table[label%p] = 1; else // have ball { flag = 1; cout << i + 1 << endl; break; } } if (!flag) cout << -1 << endl; } return 0; }