Programozó versenyek

Magas szintű programozási nyelvek 2, 2014. december 15., H18 ZH

2014. december 15. 18:05 – 2014. december 15. 19:45

Sudoku

Írjon programot, amelynek első parancssori argumentuma egy szöveges állomány neve! A szöveges állományban 9 × 9-es méretű, egész számokat tartalmazó (négyzetes) mátrixok leírásai szerepelnek. Egy-egy mátrixot 10 sor ír le. Az első kilenc sorban a számok egy szóköz karakterrel vannak elválasztva egymástól, a tizedik sor üres. A program döntse el, hogy a szöveges állományban található mátrixok szabályosan kitöltött sudoku négyzetek-e, azaz igaz-e rájuk az, hogy (1) minden sorukban, (2) minden oszlopukban és (3) minden, az alábbi ábrán is jól látható 3 × 3-as méretű blokkjukban szerepel-e 1-től 9-ig az összes egész szám! Ha egy mátrix szabályosan kitöltött sudoku négyzet, a program írjon a standard kimenetre egy „YES”, egyébként pedig egy „NO” szót tartalmazó sort!

Példa bemenet

  1. 1 6 3 4 8 9 5 7 2
  2. 2 5 9 6 7 3 8 4 1
  3. 4 7 8 1 5 2 6 9 3
  4. 5 2 6 7 4 1 3 8 9
  5. 9 8 7 3 2 6 1 5 4
  6. 3 1 4 8 9 5 7 2 6
  7. 7 3 5 9 6 4 2 1 8
  8. 6 4 2 5 1 8 9 3 7
  9. 8 9 1 2 3 7 4 6 5
  10. 6 3 4 8 9 5 7 2 1
  11. 5 9 6 7 3 8 4 1 2
  12. 7 8 1 5 2 6 9 3 4
  13. 2 6 7 4 1 3 8 9 5
  14. 8 7 3 2 6 1 5 4 9
  15. 1 4 8 9 5 7 2 6 3
  16. 3 5 9 6 4 2 1 8 7
  17. 4 2 5 1 8 9 3 7 6
  18. 9 1 2 3 7 4 6 5 8
letöltés szöveges állományként

A példa bemenethez tartozó kimenet

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