Divisão do tesouro, Emoticons, Fissura Perigosa
Autor(es): Marcelo Henrique Ayala Gomes
O Capitão Olho Roxo e seus marinheiros encontraram uma arca com uma grande quantidade de moedas de ouro idênticas. Para a divisão das moedas, todos concordaram com a seguinte sugestão do Capitão:
Pode ser que o fato de o Capitão ser o único com uma pistola a bordo tenha contribuído para a concordância de todos, mas também contribuiu o fato de que na forma proposta a divisão era perfeita, não sobrando ou faltando moedas.
Dados o número de moedas na arca e o número de marinheiros, escreva um programa para determinar quantas moedas o Capitão Olho Roxo recebeu.
A primeira linha da entrada contém um número inteiro A, o número de moedas na arca. A segunda linha contém um inteiro N, o número de marinheiros (não contando o Capitão).
Seu programa deve produzir na saída uma única linha, contendo um único inteiro, o número de moedas que o Capitão Olho Roxo deve receber. Restrições
A = int(input().strip())
N = int(input().strip())
# cada marinheiro recebe x, o capitão recebe 2x, total: (N + 2) * x = A
capitao = 2 * A // (N + 2)
print(capitao)Emoticons são símbolos usados para expressar o sentimento de quem escreve uma mensagem. Scott Fahlman, um professor de uma universidade americana, foi o primeiro a propor o uso das sequências de caracteres :-) e :-(, que viraram respectivamente símbolos para "divertido" e "chateado".
Vamos definir o sentimento expresso em uma mensagem como sendo:
Dada uma mensagem composta por uma cadeia de caracteres, escreva um programa para determinar o sentimento expresso na mensagem.
A primeira e única linha da entrada contém a mensagem M como uma cadeia de caracteres.
Seu programa deve produzir uma única linha, contendo uma única palavra, o sentimento expresso na mensagem da entrada. Restrições
(' (abre parênteses), )' (fecha parênteses), :' (dois-pontos), -' (hífen), .' (ponto) e ,' (vírgula).Para um conjunto de casos de testes valendo 25 pontos, há no máximo um emoticon na mensagem.
Espero que esteja tudo bem :-)
divertido
Achei o filme muito divertido.
neutro
:-):-(:-(:-)
neutro
s = input()
happy = 0
sad = 0
for i in range(len(s) - 2):
trip = s[i:i+3]
if trip == ':-)':
happy += 1
elif trip == ':-(':
sad += 1
if happy == sad:
print('neutro')
elif happy > sad:
print('divertido')
else:
print('chateado')A erupção do vulcão Kilauea em 2018 no Havaí atraiu a atenção de todo o mundo. Inicialmente a força da erupção era menor e a lava avançou para o sul com relativamente poucos danos. Após algumas semanas, porém, a fissura 8 começou a jorrar com mais força e a lava avançou também para o norte trazendo muita destruição.
Você está ajudando na implementação de um sistema para simular a área por onde a lava avançaria, em função da força da erupção. O mapa será representado simplificadamente por uma matriz quadrada de caracteres, de 1 a 9, indicando a altitude do terreno em cada posição da matriz. Vamos considerar que a fissura 8, por onde a erupção se inicia, está sempre na posição do canto superior esquerdo da matriz. Dada a força da erupção, que será um valor inteiro, de 0 a 9, seu programa deve imprimir a matriz de caracteres representando o avanço final da lava. Se a lava consegue invadir uma posição da matriz, o caractere naquela posição deve ser trocado por um asterisco ('*'). Uma posição será invadida pela lava se seu valor for menor ou igual à força da erupção e
A figura abaixo mostra um exemplo de mapa e o avanço final da lava para quatro forças de erupção: 1, 3, 6 e 8, respectivamente da esquerda para a direita.
| - | - | - | - | |27755478 |*7755478 |*7755478 |******| |29985439 |*9985439 |9985439 |999| |34899989 |*4899989 |**899989 |**9999| |22115569 |****5569 |*******9 |**9| |66736689 |6676689 |789 |9| |99886555 |99886555 |9988 |99| |44433399 |44433399 |******99 |***99| |99986991 |99986991 |9998991 |999991|
A primeira linha da entrada contém dois inteiros N e F representando, respectivamente o número de linhas (que é igual ao de colunas) da matriz e a força da erupção. Cada uma das N linhas seguintes contém uma string de N caracteres, entre 1 e 9, indicando o mapa de entrada.
Seu programa deve imprimir N linhas contendo, cada uma, N caracteres representando o avanço final da lava de acordo com o enunciado. Restrições
# Leitura
N, F = map(int, input().split())
grid = [list(input().strip()) for _ in range(N)]
# Função que verifica se um valor do grid pode ser invadido
def pode_invadir(r, c):
return int(grid[r][c]) <= F
# Usa uma fila implementada com lista + ponteiro (evita pop(0) lento)
q = []
q_idx = 0
# inicia pela posição (0,0) somente se ela for invadível
if pode_invadir(0, 0):
grid[0][0] = '*'
q.append((0, 0))
# direções ortogonais: cima, baixo, esquerda, direita
dirs = [(-1,0),(1,0),(0,-1),(0,1)]
while q_idx < len(q):
r, c = q[q_idx]
q_idx += 1
for dr, dc in dirs:
nr, nc = r + dr, c + dc
if 0 <= nr < N and 0 <= nc < N and grid[nr][nc] != '*':
if pode_invadir(nr, nc):
grid[nr][nc] = '*'
q.append((nr, nc))
# impressão do resultado
for row in grid:
print(''.join(row))