BodyguardsHungarian

From CEOIWiki

Jump to: navigation, search

Contents

[edit] Testőrök

Egy rendezvényen a székek négyzetrácsos elrendezésben vannak. Minden sorba és oszlopba adott számú testőrt kell elhelyezni!


[edit] Feladat

Írj programot, amely megadja, hogy el lehet-e helyezni a testőröket az igényeknek megfelelően!

Minden széken csak egy testőr ülhet!

[edit] Bemenet

A bemenet tömörített formában van megadva.

A bemenet a sorok leírásával kezdődik. Az első sor a sorcsoportok R számát tartalmazza. A következő R sor mindegyike 2 pozitív egész számot tartalmaz: a soronként szükséges testőrök számát és a csoportot alkotó sorok számát.

Ezt követi az oszlopok leírása. Az első sor az oszlopcsoportok C számát tartalmazza. A következő C sor mindegyike 2 pozitív egész számot tartalmaz: az oszloponként szükséges testőrök számát és a csoportot alkotó oszlopok számát.

[edit] Korlátok

Feltehető, hogy soronként megkövetelt testőrök száma megegyezik az oszlopokban megkövetelt testőrök számával, ez legfeljebb 1018.

Feltehető, hogy az összes pozitív egész szám legfeljebb 1\,000\,000\,000.

Tejesül, hogy 1\leq R,C\leq 200\,000.

50 pontot lehet elérni a következő esetekben:

  • a sorok száma legfeljebb 2\,000
  • az oszlopok száma legfeljebb 2\,000
  • a testőrök száma legfeljebb 1\,000\,000.

További 10 pont szerezhető, amikor R, C \leq 100.

[edit] Kimenet

Az egyetlen sorba az "1" egész számot kell kiírni, ha van megoldás, illetve a "0" számot, ha nincs megoldás.

[edit] Példa

input:

2
2 1
1 2
1
2 2

output:

1

Itt 2 sorcsoport van. Az első szerint egyetlen sorba kell tenni 2 testőrt, a második szerint a következő 2 sorba 1-1 testőrt kell tenni! Egyetlen oszlopcsoport van, ami szerint mindkét oszlopba 2 testőrt kell tenni! Egy lehetséges testőrelhelyezés a következő:

 XX
 X.
 .X

input:

2
3 2
1 1
2
3 2
1 1

output:

0

Itt az első 2 sorba 3-3 testőrt kell ültetni. Ezért minden oszlopban legalább 2 lenne. A második oszlopcsoport leírása szerint az utolsó oszlopban csak 1 lehet.