Programozó versenyek

Magas szintű programozási nyelvek 1, egyéni verseny, 2014. április 13.

2014. április 13. 10:15 – 2014. április 13. 15:15

Az unokaöcs

Az unokaöcséd ötéves. Azt állítja, van a különböző színű kalapja, b különböző színű pólója, c különböző színű nadrágja, d pár különböző színű zoknija és e pár különböző színű cipője (tudod, milyenek a gyerekek). Abban a korban van, amikor a gyerekek egész álló nap kérdezgetnek. Megkérdezte tőled, hány különböző módon tud felöltözni.

Mivel még csak 5 éves, néha különböző színű zoknikat vagy cipőket vesz fel. Például piros zoknit a bal lábára és kéket a jobb lábára. Két öltözködést akkor tekintünk különbözőnek, ha eltérnek a kalap színében, a póló színében, a nadrág színében, a bal zokni színében, a jobb zokni színében, a bal cipő színében vagy a jobb cipő színében.

Elég okos már ahhoz, hogy eldöntse, melyik a bal és a jobb cipő, tehát sosem húzza őket a másik lábára. Ezenkívül mindig hord kalapot, pólót, nadrágot, egy pár zoknit és egy pár cipőt (gondolom, valaki megmondta neki, hogy nem túl szép dolog félmeztelenül mászkálni).

Íme egy példa. Ha van egy piros kalapja, két pólója (egy kék és egy zöld), egy (fekete) nadrágja, két pár zoknija (egy fehér és egy narancs pár), valamint két pár cipője (az egyik barna, a másik sárga), akkor 32 különböző módon tud felöltözni. Itt van néhány a lehetséges öltözködési módok közül (az egymás utáni módozatok közötti eltéréseket vastag betűkkel jelöltük):

  • Piros kalap, kék póló, fekete nadrág, fehér zokni a bal lábon, fehér zokni a jobb lábon, barna cipő a bal lábon, barna cipő a jobb lábon.
  • Piros kalap, zöld póló, fekete nadrág, fehér zokni a bal lábon, narancs zokni a jobb lábon, barna cipő a bal lábon, barna cipő a jobb lábon.
  • Piros kalap, zöld póló, fekete nadrág, narancs zokni a bal lábon, fehér zokni a jobb lábon, barna cipő a bal lábon, barna cipő a jobb lábon.
  • Piros kalap, zöld póló, fekete nadrág, narancs zokni a bal lábon, fehér zokni a jobb lábon, barna cipő a bal lábon, sárga cipő a jobb lábon.

Vegyük észre, hogy az egyetlen különbség a második és harmadik módozat között az, hogy felcserélte a bal és jobb zokniját. A fenti szabályok alapján ez két különböző öltözetnek számít.

Azt mondta, ha írsz egy programot, amely ki tudja számítani ezt az értéket, abbahagyja a kérdezősködést!

A bemenet specifikációja

A bemenet számos tesztesetet tartalmaz. Minden tesztesetet öt egész szám ad meg egy-egy sorban: a, b, c, d és e (1 ≤ a, b, c, d, e ≤ 20). Ezek a számok a fent leírt értékeket reprezentálják, és egy vagy több szóköz választja el őket egymástól. A bemenet utolsó sora öt 0-ból áll, amelyet nem kell feldolgozni.

A kimenet specifikációja

Minden tesztesetre a kimenetre kell írni külön sorban, hogy hányféleképpen tud a gyerek felöltözni.

Példa bemenet

  1. 1 2 1 2 2
  2. 1 1 1 1 1
  3. 12 3 18 2 19
  4. 3 4 16 1 4
  5. 0 0 0 0 0
letöltés szöveges állományként

A példa bemenethez tartozó kimenet

  1. 32
  2. 1
  3. 935712
  4. 3072
letöltés szöveges állományként
Debreceni Egyetem, Informatikai Kar, v. 2019.03.01.