⬆︎
×

[PAT-A] 1039 Course List for Student

Hyplus目录

Java

import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        int k = scanner.nextInt();

        HashMap<String, ArrayList<Integer>> hashMap = new HashMap<>();
        for (int i = 0; i < k; i++) {
            int courseID = scanner.nextInt();
            int stuNum = scanner.nextInt();
            for (int j = 0; j < stuNum; j++) {
                String name = scanner.next();
                if (!hashMap.containsKey(name)) {
                    hashMap.put(name, new ArrayList<>());
                }
                hashMap.get(name).add(courseID);
            }
        }

        for (int i = 0; i < n; i++) {
            String name = scanner.next();
            StringBuilder sb = new StringBuilder();
            sb.append(name);
            if (hashMap.containsKey(name)) {
                ArrayList<Integer> arrayList = hashMap.get(name);
                Collections.sort(arrayList);
                sb.append(" ").append(arrayList.size());
                for (Integer integer : arrayList) {
                    sb.append(" ").append(integer);
                }
                System.out.println(sb);
            } else {
                System.out.println(name + " 0");
            }
        }
    }
}

C++

#include <iostream>
#include <cstring>
#include <algorithm>
#include <unordered_map>
#include <vector>

using namespace std;

int n, k;
unordered_map <string, vector<int>> students;

int main() {
    cin >> n >> k;

    string name;
    while (k--) {
        int id, m;
        cin >> id >> m;
        while (m--) {
            cin >> name;
            students[name].push_back(id);
        }
    }

    while (n--) {
        cin >> name;

        auto &ls = students[name];
        cout << name << ' ' << ls.size();
        sort(ls.begin(), ls.end());

        for (auto l: ls) cout << ' ' << l;
        cout << endl;
    }

    return 0;
}

发表评论