Автобусны шууд зам


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

There are no comments at the moment.