4. Laevade pommitamine 1 sekund 30 punkti “Laevade pommitamine” on lauam¨ang, mida m¨angitakse 10×10 ruudust koosneval m¨angulaual. M¨angu alguses paigutab m¨angija lauale oma “laevastiku”, milles on ¨uks 4-mastiline, kaks 3- mastilist, kolm 2-mastilist ja neli 1-mastilist laeva. Iga laeva kujutab laual n × 1 ruudust koosnev horisontaalne v˜oi vertikaalne riba, kus n on laeva mastide arv. K˜oik laevad peavad olema tervenisti m¨angulaual ja ei tohi olla ¨uksteise peal ega ¨uksteist ei serva- ega nurkapidi puudutada. Kirjutada programm, mis loeb ¨uheksa laevaga m¨angualaua kirjelduse ja lisab sinna puuduva k¨umnenda laeva nii, et tulemuseks oleks reeglitekohane paigutus. Sisend. Tekstifailis laev.sis on t¨apselt 10 rida, igas reas t¨apselt 10 m¨arki, kus punkt (.) t¨ahistab t¨uhja ja trellim¨ark (#) m˜one laeva poolt h˜oivatud ruutu. V¨aljund. Tekstifaili laev.val v¨aljastada t¨apselt 10 rida, igasse t¨apselt 10 m¨arki: t¨aiendatud m¨angulaua kirjeldus sisendiga samal kujul. Olemasolevaid laevu ¨umber paigutada ei tohi, uus laev tuleb lisada m˜onele vabale kohale olemasolevate vahele. V˜oib eeldada, et k˜oigis testides on uue laeva paigutamine v˜oimalik. Kui uue laeva paigutamiseks on mitu v˜oimalust, v¨aljastada ¨uksk˜oik milline neist. 2/4 Eesti informaatikaol¨umpiaad Lahtine v˜oistlus 12.–18.11.2007 ¨Ulesanded N¨aide. laev.sis ...#...... .......... ..###.#.#. ......#... .####..... .......#.. .#........ .#.....#.. .#........ ....##.... laev.val ...#...... .......... ..###.#.#. ......#... .####..... .......#.. .#..#..... .#..#..#.. .#........ ....##.... 5.