Revizia anterioară Revizia următoare
Fişierul intrare/ieşire: | gravity.in, gravity.out | Sursă | Algoritmiada 2016, Runda Finala, Seniori |
Autor | Mihai Calancea | Adăugată de | |
Timp execuţie pe test | 0.5 sec | Limită de memorie | 131072 kbytes |
Scorul tău | N/A | Dificultate | N/A |
Vezi solutiile trimise | Statistici
Gravity
În această problemă trebuie să simulaţi căderea unor obiecte bidimensionale care urmează reguli asemănătoare (dar nu identice) cu jocul Tetris.
Mai exact, vi se dă o matrice de dimensiuni N x M cu celule de tip . sau #. Numim obiect fiecare componentă maximală 4-conexă de celule de tip #. Toate obiectele cad cu aceeaşi viteză în jos (în direcţia liniei cu numărul N). Dacă un anumit obiect ar ieşi (chiar şi parţial) din matrice prin continuarea mişcare, acesta se opreşte în întregime. Dacă un anumit obiect s-ar intersecta cu un alt obiect (chiar şi parţial) prin continuarea mişcării, acesta se opreşte de-asemenea în întregime. Notaţi că obiectele îşi menţin structura originală pe tot parcursul mişcării, ignorând cu nonşalanţă noţiuni ca rezistenţa materialelor sau stare de echilibru. Pentru clarificări ulterioare puteţi consulta exemplele.
Date de intrare
Fişierul de intrare gravity.in ...
Date de ieşire
În fişierul de ieşire gravity.out ...
Restricţii
- ... ≤ ... ≤ ...
Exemplu
gravity.in | gravity.out |
---|---|
10 10 .......... ..######.. ..#....#.. ..#.#..#.. ..#..#.#.. ..#....#.. ..######.. .......... ..#....#.. .......#.. | .......... .......... ..######.. ..#....#.. ..#....#.. ..#....#.. ..#.##.#.. ..######.. .......#.. ..#....#.. |
10 10 ...#...... ...#.###.. .......... .#####.... .....#.##. .....#.##. ..#....... ..#..##... ..#...#.#. .......... |