Jako fan najbardziej udanego zespołu piłkarskiego BE , pod koniec sezonu często zastanawiam się, czy moja ulubiona drużyna ma jeszcze teoretyczną szansę na zostanie mistrzem. Twoim zadaniem w tym wyzwaniu jest udzielenie mi odpowiedzi na to pytanie.
Wejście
Otrzymasz trzy dane wejściowe: bieżącą tabelę, listę pozostałych meczów oraz aktualną pozycję drużyny, którą jesteśmy zainteresowani.
Wejście 1: aktualna tabela , sekwencja numerów były i numer -ty są punkty zdobyte przez zespół i tak daleko. Na przykład dane wejściowe
[93, 86, 78, 76, 75]kodują następującą tabelę (ważna jest tylko ostatnia kolumna):
Wejście 2 : Pozostałe mecze , sekwencja krotek, w której każda krotka ( i , j ) oznacza pozostały mecz między drużyną i i j . W powyższym przykładzie drugie wejście [(1,2), (4,3), (2,3), (3,2), (1,2)]oznaczałoby, że pozostałe dopasowania to:
Chelsea vs Tottenham, Liverpool vs Man. City, Tottenham vs Man. City, Man. City vs Tottenham, Chelsea vs Tottenham
Wejście 3: aktualna pozycja . Zespołu jesteśmy zainteresowani Na przykład wejście2 na powyższym przykładzie oznaczałoby, że chcielibyśmy wiedzieć, czy Tottenham wciąż może zostać mistrzem.
Wynik
Dla każdego pozostałego dopasowania formularza ( i , j ) istnieją trzy możliwe wyniki:
- Drużyna i wygrywa: Drużyna i otrzymuje 3 punkty , drużyna j dostaje 0 punktów
- Drużyna j wygrywa: Drużyna i otrzymuje 0 punktów , drużyna j otrzymuje 3 punkty
- Draw: Zespół I i J zarówno dostać 1 punkt
Musisz podać prawdziwą wartość, jeśli jest jakiś wynik dla wszystkich pozostałych gier, tak że na końcu żadna inna drużyna nie ma więcej punktów niż drużyna określona w 3. danych wejściowych. W przeciwnym razie wypisz wartość fałszowania.
Przykład : Rozważ przykładowe dane wejściowe z powyższej sekcji:
Wejście 1 = [93, 86, 78, 76, 75], Wejście 2 = [(1,2), (4,3), (2,3), (3,2), (1,2)], Wejście 3 =2
Jeśli drużyna 2wygra wszystkie pozostałe mecze (tj. (1,2), (2,3), (3,2), (1,2)), Otrzyma 4 * 3 = 12 dodatkowych punktów; żadna z pozostałych drużyn nie otrzymuje żadnych punktów za te mecze. Powiedzmy, że drugi pozostały mecz (tj. (4,3)) To remis. Wtedy końcowe wyniki byłyby następujące:
Team 1: 93, Team 2: 86 + 12 = 98, Team 3: 78 + 1 = 79, Team 4: 76 + 1 = 77, Team 5: 75
Oznacza to, że znaleźliśmy już pewne wyniki dla pozostałych meczów, dzięki czemu żadna inna drużyna nie ma więcej punktów niż drużyna 2 , więc wyniki dla tego wkładu muszą być zgodne z prawdą.
Detale
- Możesz założyć, że pierwszym wejściem jest sekwencja uporządkowana, tj. Dla i < j , i -ty wpis jest równy lub większy niż j- ty wpis. Pierwsze dane wejściowe mogą być traktowane jako lista, ciąg znaków lub tym podobne.
- Drugie wejście możesz wziąć jako ciąg, listę krotek lub tym podobne. Alternatywnie, możesz potraktować to jako tablicę dwuwymiarową,
agdziea[i][j]jest liczba wpisów formularza(i,j)na liście pozostałych dopasowań. Na przykłada[1][2] = 2, a[2][3] = 1, a[3][2] = 1, a[4][3] = 1odpowiada[(1,2), (4,3), (2,3), (3,2), (1,2)]. - W przypadku drugiego i trzeciego wejścia można założyć indeksowanie 0 zamiast indeksowania 1.
- Możesz wziąć trzy dane wejściowe w dowolnej kolejności.
Podaj dokładny format wejściowy wybrany w odpowiedzi.
Węzeł boczny : problem leżący u podstaw tego wyzwania okazał się być NP-zupełny w „ Eliminacja piłki nożnej jest trudna do podjęcia na podstawie reguły 3-punktowej ”. Co ciekawe, jeśli za zwycięstwo zostaną przyznane tylko dwa punkty, problem staje się rozwiązywalny w czasie wielomianowym.
Przypadki testowe
Wszystkie przypadki testowe są w formacie Input1, Input2, Input3.
Prawda:
[93, 86, 78, 76, 75],[(1,2), (4,3), (2,3), (3,2), (1,2)],2[50],[],1[10, 10, 10],[],3[15, 10, 8],[(2,3), (1,3), (1,3), (3,1), (2,1)],2
Falsy:
[10, 9, 8],[],2[10, 9, 9],[(2,3), (3,2)],1[21, 12, 11],[(2,1), (1,2), (2,3), (1,3), (1,3), (3,1), (3,1)],2
Zwycięzca
To jest golf golfowy , więc wygrywa najkrótsza poprawna odpowiedź (w bajtach). Zwycięzca zostanie wybrany tydzień po opublikowaniu pierwszej poprawnej odpowiedzi.
