題目敘述
本題採EOF方式收資料,每筆資料有一個字串和一個為0或1的數字,0代表這個題目 (題目名稱為字串) 沒有做過,1則是有做過。要求輸出還沒有做過的題目,順序由輸入順序輸出。
範例輸入 #1
a001 1
a002 1
a003 0
範例輸出 #1
a003
範例輸入 #2
b002 0
b003 0
b009 1
範例輸出 #2
b002
b003
範例輸入 #3
b002 0
b003 0
b002 0
b004 1
b004 1
b003 0
範例輸出 #3
b002
b003
解題思路
本題需要使用Map或Set來確認題目有沒有出現過了,因為會有重複的題號出現。
解題程式碼如下 (僅供參考):
#include <iostream>
#include <map>
using namespace std;
int main() {
string str;
int N;
map<string, int>MAP;
while (cin >> str >> N)
{
if (N == 0 && MAP[str] == 0) cout << str << "\n";
MAP[str]++;
}
}
留言
張貼留言