成绩管理系统II答案: #include #include #include #include #include #include #include #include using namespace std; map<string, int> a; map<int, int> b; int main(){ int n, q; string w; cin >> n; for(int i = 1;i <= n;i++){ cin >> w; if(w == "I"){ cin >> w >> q; a[w] = q; b[q]++; }else if(w == "Q"){ cin >> w; if(a.count(w) != 0){ cout << a[w] << endl; }else{ cout << -1 << endl; } }else if(w == "S"){ cin >> q; if(b.count(q) != 0){ cout << b[q] << endl; }else{ cout << 0 << endl; } } } return 0; } 于是他错误的点名开始了答案: #include #include #include #include #include #include #include #include using namespace std; map<string, int> a; int main(){ int n, m; string w; cin >> n; for(int i = 1;i <= n;i++){ cin >> w; a[w]++; } cin >> m; for(int i =1;i <= m;i++){ cin >> w; if(a.count(w) != 0){ if(a[w] != 0){ cout << "OK" << endl; a[w] = 0; }else{ cout << "REPEAT" << endl; } }else{ cout << "WRONG" << endl; } } return 0; } 保龄球答案: #include #include #include #include #include #include #include #include using namespace std; map<int, int> a; int main(){ int n, m, w; cin >> n; for(int i = 1;i <= n;i++){ cin >> w; a[w] = i; } cin >> m; for(int i = 1;i <= m;i++){ cin >> w; if(a.count(w) != 0){ cout << a[w] << endl; }else{ cout << 0 << endl; } } return 0; } 眼红的Medusa答案: #include #include #include #include #include #include #include #include using namespace std; map<int, long long> a; map<int, long long> b; int main(){ long long n, m, w; cin >> n >> m; for(int i = 1;i <= n;i++){ cin >> w; a[i] = w; } for(int i = 1;i <= m;i++){ cin >> w; b[w] = w; } for(int i = 1;i <= n;i++){ if(b[a[i]] != 0){ cout << b[a[i]] << ' '; } } return 0; } 【深基15.例2】寄包柜答案: #include #include #include #include #include #include #include #include using namespace std; map<int, int> a[100001]; int main(){ int n, q, w; cin >> n >> q; for(int i = 1;i <= q;i++){ int x; cin >> x; if(x == 1){ int i, j, k; cin >> i >> j >> k; a[i][j] = k; }else if(x == 2){ int i, j; cin >> i >> j; if(a[i][j] > 0){ cout << a[i][j] << endl; } } } return 0; }