EsioFreitas / D-C_quem-ganha-primeiro

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Quem ganha primeiro?

Número da Lista: 4
Conteúdo da Disciplina: Dividir para conquistar

Alunos

Matrícula Aluno
17/0033066 Esio Gustavo Pereira Freitas
17/0020461 Pedro Henrique Andrade Feo

Sobre

Andrea, Carlos e Marcelo são muito amigos e passam todos os finais de semana juntos. Um dia, Andrea, usando o computador portátil, decidiu propror uma brincadeira o qual ela gerava um inteiro aleatório N e uma seqüência de inteiros, também aleatória, que é uma permutação de 1, 2, . . . ,N. O jogo então começa, cada jogador faz um movimento, e a jogada passa para o outro jogador. Marcelo é sempre o primeiro a começar a jogar. Um movimento de um jogador consiste na escolha de um par de elementos consecutivos da seqüência que estejam fora de ordem e em inverter a ordem dos dois elementos. Por exemplo, dada a seqüência 1, 5, 3, 4, 2, o jogador pode inverter as posições de 5 e 3 ou de 4 e 2, mas não pode inverter as posições de 3 e 4, nem de 5 e 2. Continuando com o exemplo, se o jogador decide inverter as posições de 5 e 3 então a nova seqüência será 1, 3, 5, 4, 2. Mais cedo ou mais tarde, a seqüência ficará ordenada. Perde o jogador impossibilitado de fazer um movimento. Sua missão, caso decida aceitá-la, é determinar quem ganha o jogo, dada a seqüência inicial.

Screenshots

Instalação

Linguagem: JavaScript

Fizemos o deploy da aplicação para facilitar o uso dela AQUI. No entanto, caso queira rodá-la, é necessário que possua instalado:

$ yarn install
$ yarn start

# pode ser usado também:

$ npm install
$ npm start

Uso

  1. Selecione "RESOLVER" para iniciar o algoritimos
  2. Para fazer um novo percurso, selecione "RESET"

Observação

O projeto foi inspirado em https://www.urionlinejudge.com.br/judge/pt/problems/view/1088

About


Languages

Language:JavaScript 73.9%Language:CSS 13.6%Language:HTML 12.5%