Bài 19.2. Danh Sách Sinh Viên Tham Gia Sự Kiện - [Độ khó: Khá]


LÀM BÀI

Points: 10 (partial)
Time limit: 2.0s
Memory limit: 64M

Author:
Problem type

Bài 19.2. Danh Sách Sinh Viên Tham Gia Sự Kiện - [Độ khó: Khá]

Mô tả bài tập: Một trường học tổ chức hai sự kiện lớn: "Ngày hội Khoa học" và "Giải đấu Thể thao". Ban tổ chức đã thu thập được danh sách ID của các sinh viên đăng ký tham gia mỗi sự kiện. Để đánh giá mức độ quan tâm, bạn cần tìm ra:

  1. Số lượng sinh viên tham gia cả hai sự kiện.
  2. Số lượng sinh viên chỉ tham gia một trong hai sự kiện (không tham gia cả hai).
INPUT FORMAT

Dòng đầu tiên chứa hai số nguyên \(N_1\) và \(N_2\) (\(1 \le N_1, N_2 \le 10^5\)), lần lượt là số lượng sinh viên đăng ký "Ngày hội Khoa học" và "Giải đấu Thể thao". Dòng thứ hai chứa \(N_1\) số nguyên, là ID của các sinh viên tham gia "Ngày hội Khoa học". Các ID này được đảm bảo là duy nhất trong danh sách này. Dòng thứ ba chứa \(N_2\) số nguyên, là ID của các sinh viên tham gia "Giải đấu Thể thao". Các ID này cũng được đảm bảo là duy nhất trong danh sách này. Các ID sinh viên là các số nguyên dương từ \(1\) đến \(10^9\).

OUTPUT FORMAT

In ra hai số nguyên trên một dòng, cách nhau bởi một khoảng trắng. Số thứ nhất là số lượng sinh viên tham gia cả hai sự kiện. Số thứ hai là số lượng sinh viên chỉ tham gia một trong hai sự kiện.

Ví dụ:

Input:

5 4
101 102 103 104 105
103 105 106 107

Output:

2 5

Giải thích:

  • Gọi set1 là tập hợp ID sinh viên tham gia Ngày hội Khoa học: {101, 102, 103, 104, 105}.
  • Gọi set2 là tập hợp ID sinh viên tham gia Giải đấu Thể thao: {103, 105, 106, 107}.
  • Để tìm số sinh viên tham gia cả hai sự kiện (phép giao): Duyệt qua các phần tử trong set1 và kiểm tra xem chúng có tồn tại trong set2 hay không.
    • Các ID có trong cả hai set là: 103, 105. Vậy có 2 sinh viên tham gia cả hai sự kiện.
  • Để tìm số sinh viên chỉ tham gia một trong hai sự kiện:
    • Cách 1: Tính hợp của hai set (set_union), sau đó trừ đi số phần tử của phép giao. Hợp của set1set2{101, 102, 103, 104, 105, 106, 107} có 7 phần tử. Số sinh viên chỉ tham gia một sự kiện = (số phần tử hợp) - (số phần tử giao) = 7 - 2 = 5.
    • Cách 2: Duyệt set1, đếm những phần tử không có trong set2. Duyệt set2, đếm những phần tử không có trong set1. Tổng hai số đếm đó là kết quả.
      • Chỉ tham gia Ngày hội Khoa học: {101, 102, 104} (3 sinh viên).
      • Chỉ tham gia Giải đấu Thể thao: {106, 107} (2 sinh viên).
      • Tổng cộng: 3 + 2 = 5 sinh viên.


Comments

There are no comments at the moment.

Zalo