⬆︎
×

[PAT-A] 1157 Anniversary

Hyplus目录

Java

import java.io.*;
import java.util.*;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        Set<String> alumniSet = new HashSet<>();

        int n = Integer.parseInt(br.readLine());
        for (int i = 0; i < n; i++) {
            String id = br.readLine().trim();
            alumniSet.add(id);
        }

        int m = Integer.parseInt(br.readLine());
        final int INF = 0x3f3f3f3f;
        String oldestAlumni = "";
        String oldestGuest = "";
        int oldestAlumniDate = INF;
        int oldestGuestDate = INF;
        int alumniCount = 0;
        for (int i = 0; i < m; i++) {
            String id = br.readLine().trim();
            int date = Integer.parseInt(id.substring(6, 14));

            if (alumniSet.contains(id)) {
                alumniCount++;
                if (date < oldestAlumniDate) {
                    oldestAlumniDate = date;
                    oldestAlumni = id;
                }
            } else {
                if (date < oldestGuestDate) {
                    oldestGuestDate = date;
                    oldestGuest = id;
                }
            }
        }

        System.out.println(alumniCount);
        if (alumniCount == 0) {
            System.out.println(oldestGuest);
        } else {
            System.out.println(oldestAlumni);
        }
    }
}

C++

#include <iostream>
#include <cstring>
#include <algorithm>
#include <unordered_set>

using namespace std;

const int INF = 0x3f3f3f3f;

int n, m;
unordered_set <string> st;

int main() {
    cin >> n;
    while (n--) {
        string id;
        cin >> id;
        st.insert(id);
    }

    cin >> m;
    string old_alu, old_gst;
    int old_alu_date = INF, old_gst_date = INF, cnt = 0;
    while (m--) {
        string id;
        cin >> id;
        int date = stoi(id.substr(6, 8));

        if (st.count(id)) {
            cnt++;
            if (date < old_alu_date) {
                old_alu_date = date;
                old_alu = id;
            }
        } else {
            if (date < old_gst_date) {
                old_gst_date = date;
                old_gst = id;
            }
        }
    }

    cout << cnt << endl;
    if (cnt == 0) cout << old_gst << endl;
    else cout << old_alu << endl;

    return 0;
}

发表评论