Programozó versenyek

Informatikai versenyfeladatok, gyakorló feladatsor, 2012. február 20.

2012. március 1. 0:00 – 2012. április 1. 0:00

Ausztrál választások

Az ausztrál szavazócédulákon a választóknak rangsorolniuk kell a jelölteket valamilyen sorrendben. Először csak az első helyre rangsorolt jelölteket számolják össze, és ha valamelyikük összegyűjti a szavazatok több, mint 50%-át, akkor az adott jelöltet megválasztják. Ha egyik jelölt sem szerez 50%-nál több szavazatot, akkor az összes olyan jelölt kiesik, akik a legkevesebb szavazatot kapták. A kieső jelölteket első helyen rangsoroló szavazócédulákat ezután újraszámolják, a nem kiesett jelöltek közül a legjobb helyen rangsoroltakat figyelembe véve. Ezt a folyamatot (azaz a legkevesebb szavazatot kapó jelölt kihúzását és a szavazócédulák újraszámolását a legjobb helyen lévő nem kiesett jelölteket figyelembe véve) mindaddig ismétlik, amíg valamelyik jelöltnek 50%-nál több szavazata nem lesz, vagy amíg minden jelölt azonos számú szavazattal nem rendelkezik.

A bemenet specifikációja

A bemenet egy pozitív egész számot tartalmazó sorral kezdődik, amely a tesztesetek számát adja meg. Ezt a sort egy üres sor követi, mint ahogy bármely két teszteset között is egy-egy üres sor található.

A tesztesetek első sora egy n ≤ 20 egész számból áll, amely a jelöltek számát jelenti. A következő n sorban a jelöltek nevei szerepelnek. A nevek legfeljebb 80 karakterből állnak, és bármilyen nyomtatható karaktert tartalmazhatnak. A neveket legfeljebb 1000 sor követi, amelyek mindegyike egy-egy szavazócédulát ír le, azaz az 1-től n-ig terjedő egész számokat tartalmazzák valamilyen sorrendben. Az első szám az első helyre rangsorolt jelölt sorszáma, a második szám a második helyre rangsorolt jelölt sorszáma, és így tovább.

A kimenet specifikációja

Minden tesztesetre vagy egy sort kell a kimenetre írni a győztes nevével, vagy több sort, amelyekben a döntetlenre végzett jelöltek nevei szerepelnek. Bármely két egymást követő tesztesethez tartozó kimenetet egy-egy üres sorral kell elválasztani.

Példa bemenet

  1. 1
  2. 3
  3. John Doe
  4. Jane Smith
  5. Sirhan Sirhan
  6. 1 2 3
  7. 2 1 3
  8. 2 3 1
  9. 1 2 3
  10. 3 1 2
letöltés szöveges állományként

A példa bemenethez tartozó kimenet

  1. John Doe
letöltés szöveges állományként
Debreceni Egyetem, Informatikai Kar, v. 2019.03.01.