Programozó versenyek

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

2014. december 15. 16:10 – 2014. december 15. 17:50

Bűvös négyzet

Írjon programot, amelynek első parancssori argumentuma egy szöveges állomány neve! A szöveges állományban egész számokat tartalmazó négyzetes mátrixok leírásai szerepelnek. Egy n × n-es mátrixot n + 1 sor ír le. Az első sorban egyetlen n egész szám (n > 0) szerepel. Az ezt követő n sor mindegyikében n darab egész szám található. Az egyes sorokban a számok egy szóköz karakterrel vannak elválasztva egymástól. A program döntse el, hogy a szöveges állományban található mátrixok bűvös négyzetek-e, azaz igaz-e rájuk az, hogy (1) minden sorukban, minden oszlopukban, valamint a fő- és mellékátlóiban is ugyanannyi a számok összege, illetve (2) a mátrixban 1-től n2-ig minden egész szám megtalálható! Ha egy mátrix bűvös négyzet, a program írjon a standard kimenetre egy „YES”, egyébként pedig egy „NO” szót tartalmazó sort!

Példa bemenet

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

A példa bemenethez tartozó kimenet

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