시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
---|---|---|---|---|---|
2 초 | 512 MB | 38 | 32 | 27 | 84.375% |
Batalha Naval é um clássico jogo de estratégia para dois jogadores. Cada jogador posiciona seus navios num grid 10 × 10, e cada rodada do jogo consiste em adivinhar as posições dos navios do adversário. Existem muitas variações das regras, mas tais regras são irrelevantes para esse problema. Estamos interessados num problema mais básico: Dada a lista dos navios e suas posições, você deve determinar se o posicionamento inicial é válido.
As linhas e colunas do tabuleiro são numeradas de 1 a 10, e os navios são posicionados na horizontal ou na vertical, ocupando uma sequência contígua de quadrados do tabuleiro. Para esse problema, um posicionamento é válido se:
A primeira linha da entrada contém um inteiro N (1 ≤ N ≤ 100), o número de navios. Cada uma das próximas N linhas contém quatro inteiros D, L, R e C com D ∈ {0, 1}, 1 ≤ L ≤ 5 e 1 ≤ R, C ≤ 10 descrevendo um navio. Se D = 0 então o navio está alinhado horizontalmente, e ocupa as posições (R, C). . .(R, C + L − 1). Do contrário, o navio está alinhado verticalmente, e ocupa as posições (R, C). . .(R + L − 1, C).
Imprima uma única linha contendo um único caractere. Se o posicionamento inicial dos navios for válido, então imprima o caractere maiúsculo ‘Y’; do contrário, imprima o caractere maiúsculo ‘N’.
3 0 5 1 1 1 5 2 2 0 1 3 3
Y
2 0 2 1 1 1 1 1 2
N
1 0 2 10 10
N
7 0 3 2 2 1 5 2 9 1 2 3 6 1 1 4 2 0 1 6 6 0 4 8 4 0 2 10 1
Y