[Buổi 31][DSU][RDD] Bài 4: Làm việc nhóm


LÀM BÀI

Points: 100
Time limit: 2.0s
Memory limit: 64M

Author:
Problem type

Làm việc nhóm

Trong một nhiệm vụ khám phá vũ trụ, FullHouse Dev được giao nhiệm vụ quản lý các đội tàu vũ trụ. Để tối ưu hóa hiệu quả làm việc, họ cần một hệ thống để theo dõi khả năng hợp tác giữa các đội. Nếu đội A có thể làm việc với đội B, và đội B có thể làm việc với đội C, thì đội A cũng có thể làm việc với đội C và ngược lại.

Bài toán

FullHouse Dev sẽ nhận được hai loại thông báo:

  • Loại thứ nhất: J X Y nghĩa là đội X có thể làm việc với đội Y.
  • Loại thứ hai: ? X Y để kiểm tra xem đội X và đội Y có thể làm việc cùng nhau hay không.

Với mỗi thông báo loại thứ hai, cần trả lời "YES" nếu hai đội có thể làm việc cùng nhau và "NO" nếu không thể. Nhiệm vụ là đếm tổng số câu trả lời "YES" và "NO".

INPUT FORMAT:
  • Dòng đầu tiên chứa số nguyên \(t\) - số lượng test case
  • Dòng đầu tiên của mỗi test case chứa hai số nguyên \(n\) và \(q\), trong đó \(n\) là số lượng đội và \(q\) là số lượng thông báo
  • \(q\) dòng tiếp theo, mỗi dòng chứa một thông báo theo định dạng "J X Y" hoặc "? X Y"
OUTPUT FORMAT:
  • Với mỗi test case, in ra hai số nguyên: tổng số câu trả lời "YES" và tổng số câu trả lời "NO"
Ràng buộc:
  • \(1 \leq t \leq 10\)
  • \(1 \leq n \leq 10^5\)
  • \(1 \leq q \leq 10^5\)
Ví dụ
INPUT
1
6 6
J 1 3
? 2 3
J 3 6
? 5 1
J 1 5
? 1 3
OUTPUT
1 2
Giải thích

Trong ví dụ có 6 đội và 6 thông báo:

  • J 1 3: đội 1 và đội 3 bắt đầu làm việc cùng nhau
  • ? 2 3: câu trả lời là NO
  • J 3 6: đội 3 và đội 6 bắt đầu làm việc cùng nhau
  • ? 5 1: câu trả lời là NO
  • J 1 5: đội 1 và đội 5 bắt đầu làm việc cùng nhau
  • ? 1 3: câu trả lời là YES

Vì vậy, kết quả là 1 YES và 2 NO, output là "1 2"


Comments

There are no comments at the moment.

Zalo