QOJ.ac

QOJ

満点: 100 出力のみ

#13207. Viagem sem fim

統計

Era uma vez uma criança chamada Kino, que adorava viajar e já havia visitado muitos lugares estranhos. Certo dia, ele chegou a uma grande ponte e descobriu que muitos carros conversíveis estavam parados nela. Infelizmente, a ponte era estreita e só permitia a passagem de um conversível por vez na largura. Como os carros na ponte não cediam passagem uns aos outros, os veículos vindos dos dois sentidos ficaram presos em um congestionamento.

Mais tarde, o construtor acrescentou uma nova função à ponte: girar um de seus trechos em 180 graus, invertendo a orientação dos conversíveis nesse trecho, como mostra a figura abaixo:

problem_13207_a17cdea731e86cfd2947c6c54d0f184b.png

Figura 1. Os conversíveis 321 tornam-se 123 após a rotação.

Como mostra a figura, os conversíveis 321 encontram os conversíveis 45 na ponte e causam um congestionamento. Podemos então girar o trecho com 321, de modo que a ordem dos carros na ponte passe a ser 12345 e todos fiquem voltados para o mesmo sentido, permitindo que saiam da ponte. Esse é apenas um exemplo simples; na ponte real, a situação é muito mais complicada e exige várias rotações para chegar à forma 12345.

Porém, depois de projetar a ponte, o projetista também saiu para viajar, e nenhum dos moradores que ficaram sabia operar essa ponte mágica. Assim, os carros na ponte ficaram cada vez mais desorganizados, até que um dia a situação chegou ao estado atual. Para atravessar a ponte, Kino encontrou ao lado dela o dispositivo de controle e o manual, e redescobriu como operá-la. Com a ajuda dos moradores próximos, conseguiu colocar os conversíveis na ordem $1,2,3,\ldots$, todos voltados para o mesmo sentido. Você sabe como ele fez isso?

Entrada

Esta é uma tarefa de envio apenas das respostas. Os arquivos de entrada convertible1.in a convertible10.in já estão no diretório do usuário. A primeira linha de cada arquivo contém o número $n$ de conversíveis na ponte, numerados de $1$ a $n$. A segunda linha descreve suas posições e orientações por uma sequência de $+i$ ou $-i$. Um valor $-i$ na $j$-ésima posição indica que o conversível $i$ está nessa posição da ponte e voltado para a direita; um valor $+i$ indica que o conversível $i$ está nessa posição e voltado para a esquerda.

Saída

Você deve colocar os arquivos de saída convertible1.out a convertible10.out no diretório do usuário, sem precisar enviar um programa. A primeira linha de cada arquivo contém o número de rotações $m$. Cada uma das próximas $m$ linhas descreve uma rotação, indicando as posições de sua extremidade esquerda e direita. Sua saída deve garantir que a sequência final seja $1,2,3,\ldots,n$, e não $-1,-2,-3,\ldots,-n$ ou qualquer outra.

Exemplos

Entrada 1

5
-3 -2 -1 4 5

Saída 1

1
1 3

Pontuação

Cada teste vale no máximo 10 pontos. A pontuação depende da razão entre a qualidade do seu resultado e a da resposta de referência.

Como testar seu programa

É fornecido um verificador dos dados de saída chamado convertible_c. Ele pode ser executado assim:

#./convertible_c 3

Isso verifica se convertible3.out é válido.


またはファイルを一つずつアップロード:

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.