Solução Informática Avançado – Semana 48

por

Solução por Sofhia Souza

O problema se resume basicamente ao algoritmo de Union Find, onde as ações de juntar os jogadores se referem à função join do algoritmo (caso não conheça, recomendamos que estude sobre o algoritmo antes de resolver o problema). A única diferença da resolução desse problema para o algoritmo original, é que a cada união que fizermos, somaremos o valor dos pontos da guilda do jogador B na guilda do jogador A (pois sempre igualaremos B à A, e não o contrário). Nas ações de batalhas, eu verifico se Rafael está em alguma das guildas e se sim, comparo os pontos das duas guildas e somo uma vitória ao meu contador (caso a guilda de Rafael tenha sido vencedora).
Segue o código para melhor entendimento:

https://gist.github.com/sofhiasouza/9cd8453858df16b7bf943ae9b8a4fd5f

Comentários

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *