· 2022/2
3
Algoritmos e Programação de Computadores
UNICAMP
3
Algoritmos e Programação de Computadores
UNICAMP
60
Algoritmos e Programação de Computadores
UNICAMP
4
Algoritmos e Programação de Computadores
UNICAMP
2
Algoritmos e Programação de Computadores
UNICAMP
3
Algoritmos e Programação de Computadores
UNICAMP
4
Algoritmos e Programação de Computadores
UNICAMP
5
Algoritmos e Programação de Computadores
UNICAMP
4
Algoritmos e Programação de Computadores
UNICAMP
3
Algoritmos e Programação de Computadores
UNICAMP
Texto de pré-visualização
18/10/2022 19:32 Laboratorio 07 Disconnect Vocé e 0 seu amigo sao fas do jogo Disconnet, que é um jogo de guerra em que um jogador deve montar as tropas de defesa e 0 outro deve montar as tropas de ataque, e, a partir de batalha entre as tropas, é definido o vencedor da guerra baseado na quantidade de batalhas vencidas. Como vocé sabe programar, decidiu montar um programa para indicar a posig¢do em que as suas tropas de ataque deverdo ser posicionadas para vencer a guerra. Neste jogo, o defesor deve arrumar a configuracgao da defesa. Por exemplo, seu amigo, que sempre tera as tropas de defesa, escolheu selecionar 10 tropas para defender, onde cada tropa tem um poder de luta: 10 8 9 7 6 8 5 4 6 8 Vocé, como atacante, selecionou 4 tropas para atacar: 12 6 7 4 Com as tropas selecionadas, vocé deve parear as suas tropas de ataque com as tropas de defesa. Cada tropa pareada corresponde a uma batalha, o jogador que vencer mais batalhas é 0 vencedor da guerra. Caso vocé escolha as quatro primeiras tropas de defesa para parear, venceria apenas uma Unica batalha e perderia as outras trés, 0 que cauSaria a perda da guerra, conforme a configuragdo abaixo: 1@ «12 8 6 9 7 7 4 https://susy.ic.unicamp.br:9999/mc102/07/enunciado.html 1/6 18/10/2022 19:32 Laboratorio 07 6 8 5 4 6 8 Outra possivel configuragdao é parear com as tropas da posi¢do dois até a posicao cinco (valores 8, 9, 7 e 6), conforme apresentado a seguir. Com isso, venceria uma batalha, empataria uma batalha e perderia duas batalhas, e, sendo assim, perderia a guerra. 10 8 12 9 6 7 7 6 4 8 5 4 6 8 Na proxima configurag¢ao, isto é, as tropas da posicdo trés até as tropas da posicdo seis (valores 9, 7, 6 e 8), SdO duas vitorias e duas derrotas. Pelas regras do jogo, em caso de igualdade de vitorias e derrotas, a defesa Sai vitoriosa do combate. A configuragao é ilustrada a seguir. 10 8 9 12 7 6 6 7 8 4 5 4 6 8 A seguir, selecionando as tropas das posi¢des de cinco até oito (valores 6, 8, 5 e 4), serdo duas vitdrias, um empate e uma derrota. Com isto, é possivel vencer a guerra na posicao 5. 10 8 9 https://susy.ic.unicamp.br:9999/mc102/07/enunciado.html 2/6 18/10/2022 19:32 Laboratório 07 https://susy.ic.unicamp.br:9999/mc102/07/enunciado.html 3/6 7 6 12 8 6 5 7 4 4 6 8 Caso seja possível vencer a guerra em diversas posições, você deverá selecionar a menor posição. Note que as tropas de ataque devem ser posicionadas de forma consecutiva, na mesma ordem fornecida na entrada. Na entrada do programa, a primeira linha corresponde a quantidade n de tropas de defesa, seguido por n linhas, representando os valores de poder de cada defensor. Na sequência, o programa deverá ler a quantidade m de tropas de ataque, seguido por m linhas com os valores de poder das tropas de ataque. Como saída, seu programa deverá indicar a primeira posição na qual é possível vencer a guerra, e, caso não seja possível, seu código deverá imprimir Derrota . Exemplos de entradas e saídas esperadas pelo seu programa: Teste 01 Entrada 10 10 8 9 7 6 8 5 4 6 8 4 12 6 7 4 Saída Vitória posicionando as tropas a partir da posição 5 18/10/2022 19:32 Laboratório 07 https://susy.ic.unicamp.br:9999/mc102/07/enunciado.html 4/6 Teste 02 Entrada 15 10 20 15 18 22 13 8 7 9 10 11 15 12 14 20 5 13 8 7 9 10 Saída Derrota Teste 03 Entrada 20 15 17 13 12 20 25 23 30 50 60 66 67 18/10/2022 19:32 Laboratório 07 https://susy.ic.unicamp.br:9999/mc102/07/enunciado.html 5/6 80 14 20 21 23 18 13 8 11 8 6 4 2 9 5 4 3 2 4 6 Saída Derrota Código Base No arquivo auxiliar lab07.py você irá encontrar um código base para dar início ao processo de elaboração desse programa. Orientações Veja aqui a página de submissão da tarefa. O arquivo a ser submetido deve se chamar lab07.py. No link "Arquivos auxiliares" há um arquivo compactado (aux07.zip) que contém todos os arquivos de testes abertos (entradas e saídas esperadas). O laboratório é composto de 10 testes abertos e 10 testes fechados. O limite máximo será de 20 submissões. Acesse o sistema SuSy com seu RA (apenas números) e a senha que você utiliza para fazer acesso ao sistema da DAC. Você deve seguir as instruções de submissão descritas no enunciado. Serão considerados apenas os resultados da última submissão. Esta tarefa tem peso 2.
3
Algoritmos e Programação de Computadores
UNICAMP
3
Algoritmos e Programação de Computadores
UNICAMP
60
Algoritmos e Programação de Computadores
UNICAMP
4
Algoritmos e Programação de Computadores
UNICAMP
2
Algoritmos e Programação de Computadores
UNICAMP
3
Algoritmos e Programação de Computadores
UNICAMP
4
Algoritmos e Programação de Computadores
UNICAMP
5
Algoritmos e Programação de Computadores
UNICAMP
4
Algoritmos e Programação de Computadores
UNICAMP
3
Algoritmos e Programação de Computadores
UNICAMP
Texto de pré-visualização
18/10/2022 19:32 Laboratorio 07 Disconnect Vocé e 0 seu amigo sao fas do jogo Disconnet, que é um jogo de guerra em que um jogador deve montar as tropas de defesa e 0 outro deve montar as tropas de ataque, e, a partir de batalha entre as tropas, é definido o vencedor da guerra baseado na quantidade de batalhas vencidas. Como vocé sabe programar, decidiu montar um programa para indicar a posig¢do em que as suas tropas de ataque deverdo ser posicionadas para vencer a guerra. Neste jogo, o defesor deve arrumar a configuracgao da defesa. Por exemplo, seu amigo, que sempre tera as tropas de defesa, escolheu selecionar 10 tropas para defender, onde cada tropa tem um poder de luta: 10 8 9 7 6 8 5 4 6 8 Vocé, como atacante, selecionou 4 tropas para atacar: 12 6 7 4 Com as tropas selecionadas, vocé deve parear as suas tropas de ataque com as tropas de defesa. Cada tropa pareada corresponde a uma batalha, o jogador que vencer mais batalhas é 0 vencedor da guerra. Caso vocé escolha as quatro primeiras tropas de defesa para parear, venceria apenas uma Unica batalha e perderia as outras trés, 0 que cauSaria a perda da guerra, conforme a configuragdo abaixo: 1@ «12 8 6 9 7 7 4 https://susy.ic.unicamp.br:9999/mc102/07/enunciado.html 1/6 18/10/2022 19:32 Laboratorio 07 6 8 5 4 6 8 Outra possivel configuragdao é parear com as tropas da posi¢do dois até a posicao cinco (valores 8, 9, 7 e 6), conforme apresentado a seguir. Com isso, venceria uma batalha, empataria uma batalha e perderia duas batalhas, e, sendo assim, perderia a guerra. 10 8 12 9 6 7 7 6 4 8 5 4 6 8 Na proxima configurag¢ao, isto é, as tropas da posicdo trés até as tropas da posicdo seis (valores 9, 7, 6 e 8), SdO duas vitorias e duas derrotas. Pelas regras do jogo, em caso de igualdade de vitorias e derrotas, a defesa Sai vitoriosa do combate. A configuragao é ilustrada a seguir. 10 8 9 12 7 6 6 7 8 4 5 4 6 8 A seguir, selecionando as tropas das posi¢des de cinco até oito (valores 6, 8, 5 e 4), serdo duas vitdrias, um empate e uma derrota. Com isto, é possivel vencer a guerra na posicao 5. 10 8 9 https://susy.ic.unicamp.br:9999/mc102/07/enunciado.html 2/6 18/10/2022 19:32 Laboratório 07 https://susy.ic.unicamp.br:9999/mc102/07/enunciado.html 3/6 7 6 12 8 6 5 7 4 4 6 8 Caso seja possível vencer a guerra em diversas posições, você deverá selecionar a menor posição. Note que as tropas de ataque devem ser posicionadas de forma consecutiva, na mesma ordem fornecida na entrada. Na entrada do programa, a primeira linha corresponde a quantidade n de tropas de defesa, seguido por n linhas, representando os valores de poder de cada defensor. Na sequência, o programa deverá ler a quantidade m de tropas de ataque, seguido por m linhas com os valores de poder das tropas de ataque. Como saída, seu programa deverá indicar a primeira posição na qual é possível vencer a guerra, e, caso não seja possível, seu código deverá imprimir Derrota . Exemplos de entradas e saídas esperadas pelo seu programa: Teste 01 Entrada 10 10 8 9 7 6 8 5 4 6 8 4 12 6 7 4 Saída Vitória posicionando as tropas a partir da posição 5 18/10/2022 19:32 Laboratório 07 https://susy.ic.unicamp.br:9999/mc102/07/enunciado.html 4/6 Teste 02 Entrada 15 10 20 15 18 22 13 8 7 9 10 11 15 12 14 20 5 13 8 7 9 10 Saída Derrota Teste 03 Entrada 20 15 17 13 12 20 25 23 30 50 60 66 67 18/10/2022 19:32 Laboratório 07 https://susy.ic.unicamp.br:9999/mc102/07/enunciado.html 5/6 80 14 20 21 23 18 13 8 11 8 6 4 2 9 5 4 3 2 4 6 Saída Derrota Código Base No arquivo auxiliar lab07.py você irá encontrar um código base para dar início ao processo de elaboração desse programa. Orientações Veja aqui a página de submissão da tarefa. O arquivo a ser submetido deve se chamar lab07.py. No link "Arquivos auxiliares" há um arquivo compactado (aux07.zip) que contém todos os arquivos de testes abertos (entradas e saídas esperadas). O laboratório é composto de 10 testes abertos e 10 testes fechados. O limite máximo será de 20 submissões. Acesse o sistema SuSy com seu RA (apenas números) e a senha que você utiliza para fazer acesso ao sistema da DAC. Você deve seguir as instruções de submissão descritas no enunciado. Serão considerados apenas os resultados da última submissão. Esta tarefa tem peso 2.