Автобусны шууд зам
Submit solution
Points:
3
Time limit:
0.5s
Memory limit:
256M
Author:
Problem type
Allowed languages
C++
Хотын автобусны буудлууд хоорондоо зарим нь шууд замаар холбогдсон байдаг.
Бид буудлуудыг дараах байдлаар загварчилна:
- Буудал бүр → нэг орой (node)
- Шууд зам → ирмэг (edge)
Танд хотын автобусны сүлжээ өгөгдөнө.
Дараа нь Q ширхэг асуулт ирнэ. Асуулт бүр:
? u ба v буудлын хооронд шууд зам байна уу?
гэдгийг асууна.
? Зорилго
Асуулт бүрт:
- Хэрэв u ба v хооронд шууд зам байвал →
YES - Үгүй бол →
NO
гэж хариул.
Оролт:
Эхний мөрөнд гурван бүхэл тоо өгөгдөнө:
N M Q
- N — буудлын тоо
- M — замын тоо
- Q — асуултын тоо
Дараагийн M мөр бүрт:
u v
- u болон v буудлын хооронд шууд зам байна
Дараагийн Q мөр бүрт:
u v
- шалгах буудлууд
? Энэ нь чиглэлгүй (undirected) граф
Гаралт:
Асуулт бүрт нэг мөрөнд:YES эсвэл NO гэж хэвлэнэ.
Хязгаарлалтууд:
- 1 ≤ N ≤ 100000
- 0 ≤ M ≤ 100000
- 1 ≤ Q ≤ 100000
- 1 ≤ u, v ≤ N
Дэд бодлого
| № | Дэд бодлого | оноо | Хязгарлалт | Тайлбар |
|---|---|---|---|---|
| 1 | Дэд бодлого -1 | 1 | N ≤ 100, Q ≤ 100 | |
| 2 | Дэд бодлого -2 | 1 | N ≤ 2000, Q ≤ 2000 | |
| 3 | Дэд бодлого -3 | 1 | N ≤ 100000, Q ≤ 100000 | |
| 4 | Дэд бодлого -4 | 1 | Нэмэлт хязгаарлалтгүй |
Жишээ:
Оролт-1
4 3 3
1 2
2 3
3 4
1 2
1 3
2 4
Гаралт-1
YES
NO
NO
Тайлбар
- 1 ↔ 2 → YES
- 1 ↔ 3 → шууд биш → NO
- 2 ↔ 4 → шууд биш → NO
Оролт-2
3 1 2
1 2
1 2
2 3
Гаралт-2
YES
NO
Comments