Programozó versenyek

Programozási nyelvek 2, 2020. december 29., K10 ZH

2020. december 29. 10:00 – 2020. december 29. 11:40

Kirakókeret

A karácsonyi ajándékok között mindig nagy népszerűségnek örvendenek a különféle kirakójátékok (puzzle-ök). A kirakók több száz darabból álló játékok, ahol a kis darabokat sorokba és oszlopokba rendezve, egymáshoz kapcsolva alakul ki a nagy kép, a megfejtendő feladvány.

Az elemek rakosgatását nagyon megkönnyíti, ha alakjuk alapján három külön kupacba csoportosítjuk őket: különválogatjuk a sarokelemeket és a kép oldala mentén elhelyezkedő elemeket, míg az összes többit meghagyjuk egy nagy kupacban.

Írjon programot, amely a standard bemenet soraiból soronként egy pozitív egész számot olvas be! Minden beolvasott szám egy-egy kirakójáték elemszámát jelöli. A programja írja a standard kimenetre a példa kimenetben látható formában azt, hogy hány sarokeleme, hány oldalsó eleme és hány közbülső eleme lehet egy olyan kirakónak, amely a megadott darabszámú elemből áll, és legalább két sora és két oszlopa van! Amennyiben több lehetőség is létezik, akkor ezeket az oldalsó elemek száma szerint növekvő sorrendben sorolja fel!

Az egyes teszteseteket 1-től kezdve, egyesével növekvően sorszámozza a példa kimenetben látható módon! Az egyes tesztesetek kimeneteit egy üres sorral válassza el egymástól! Az utolsó teszteset eredményei után már ne írjon újabb üres sort a kimenetre!

Példa bemenet

  1. 12
  2. 60
  3. 100
  4. 1000
letöltés szöveges állományként

A példa bemenethez tartozó kimenet

  1. Case #1:
  2. 4 6 2
  3. 4 8 0
  4. Case #2:
  5. 4 24 32
  6. 4 26 30
  7. 4 30 26
  8. 4 38 18
  9. 4 56 0
  10. Case #3:
  11. 4 32 64
  12. 4 42 54
  13. 4 50 46
  14. 4 96 0
  15. Case #4:
  16. 4 122 874
  17. 4 132 864
  18. 4 212 784
  19. 4 258 738
  20. 4 402 594
  21. 4 500 496
  22. 4 996 0
letöltés szöveges állományként
Debreceni Egyetem, Informatikai Kar, v. 2019.03.01.