EoCacho
(usa Ubuntu)
Enviado em 17/06/2021 - 12:30h
Olá pessoal, alguém poderia me dizer como resolver o exercício abaixo sem a utilização de bibliotecas e definições de funções? Preciso entregar este exercício para o professor até dia 20/06/2021. Desde já agradeço pela compreensão!
Uma pedra bem arredondada está no topo de uma montanha e vai rolando montanha abaixo. O percurso da pedra é bem particular, ela inicia em um nível em que vai rolando para a esquerda ao longo de um trecho, e ela só desce para o nível logo abaixo se houver um buraco no trecho em seu percurso, caso contrário ela encontra uma parede na rocha e fica naquele nível. Se a pedra cair para o próximo nível inferior, ela vai rolando para a direita até encontrar um buraco ou uma pedra. Em cada nível a pedra vai rolando somente à esquerda e depois, se ela vai para o próximo nível inferior, ela rola somente à direita, e isso vai se alternando a cada nível até que a pedra chegue no pé da montanha.
A pedra só vai chegar ao pé da montanha se dentro de cada nível desde o topo da montanha, houver um buraco no percurso da pedra que a fizer cair para o próximo nível. A pedra pode cair em um próximo nível diretamente para um buraco. A pedra possui um metro de diâmetro e cada metro do nível possui uma pedra (representada pela letra X) ou um buraco (representado pela letra O). A pedra inicia em um dos trechos de um metro do topo da montanha.
Faça um programa que leia em uma mesma linha, a quantidade N de níveis da montanha, a quantidade M de metros de cada nível, e em qual posição inicial I do topo em que a pedra está colocada. A seguir, leia várias linhas da matriz que representa a montanha, em que cada linha possui M valores (X ou O) separados por espaços. Mostre se a pedra chegou até o pé da montanha ou ficou presa em algum nível da montanha, de acordo com o exigido na Saída. Ambas as numerações de nível e de metros em cada nível iniciam em 0.
Entrada:
Há vários casos de teste. A execução finaliza quando é encontrado o fim de arquivo (EOF). Deve-se ler a quantidade N de níveis da montanha, a quantidade M de metros de cada nível, e em qual posição inicial I do topo em que a pedra está colocada. A seguir, leia várias linhas da matriz que representa a montanha, em que cada linha possui M valores (X ou O) separados por espaços.
Saída:
Se a pedra chegou até o pé da montanha mostre a mensagem "Desceu a montanha na posição P", onde P é o valor numérico da posição do buraco do último nível por onde a pedra chegou. Caso contrário, mostre a mensagem "A pedra ficou presa no nível X e posição Y" onde X e Y indicam os valores numéricos, respectivamente, do nível e da posição (0 ou M-1) dentro do nível em que a pedra ficou presa. Após cada caso de teste deve haver uma linha em branco, exceto após o último caso de teste.
Samples Input:
5 4 2
O X X X
X X X O
X O X X
X O X X
O X X O
4 3 1
X O X
X X O
O X X
X X X
Samples Output:
Desceu a montanha na posição 0
A pedra ficou presa no nível 3 e posição 2