Huawei OD Computer Test Real Questions-Game Group-2023 OD Unified Examination (Papier C)

Themenbeschreibung:

Die Abteilung bereitet sich darauf vor, ein Freundschaftsspiel „Honor of Kings“ abzuhalten, an dem zehn Spielbegeisterte teilnehmen, aufgeteilt in zwei Teams zu je fünf Personen. Jeder Teilnehmer hat eine Bewertung, die sein Spielniveau repräsentiert. Um den Schaukampf so spannend wie möglich zu gestalten, müssen wir die 10 Teilnehmer in zwei Teams mit möglichst gleicher Stärke aufteilen. Die Stärke einer Mannschaft kann als Summe der Bewertungen der fünf Spieler der Mannschaft ausgedrückt werden.

Geben Sie nun die Spielstandswerte Ihrer 10 Teilnehmer an, teilen Sie diese bitte gemäß den oben genannten Anforderungen in Teams auf und geben Sie abschließend den absoluten Wert des Stärkeunterschieds zwischen den beiden Gruppen aus.

Beispiel: Die Punktzahlen der 10 Teilnehmer betragen jeweils 5 1 8 3 4 6 7 10 9 2 und die Gruppierung ist (1 3 5 8 10) (2 4 6 7 9). Der Stärkeunterschied zwischen den beiden Gruppen beträgt am kleinsten und die Differenz beträgt 1. Es gibt viele Möglichkeiten, es zu teilen, aber der absolute Wert der Stärkedifferenz beträgt mindestens 1.

Beschreibung eingeben:

10 Ganzzahlen, die die Spielniveaubewertungen von 10 Teilnehmern darstellen. Der Bereich liegt zwischen [1, 10000]

Ausgabebeschreibung:

1 ganze Zahl, die den Mindestwert des absoluten Werts der Stärkedifferenz zwischen den beiden Gruppen nach der Gruppierung angibt.

Beispiel 1

eingeben:

1 2 3 4 5 6 7 8 9 10

Ausgabe:

1

veranschaulichen:

Die 10 Spieler werden in zwei Gruppen aufgeteilt und der absolute Wert des Stärkeunterschieds zwischen den beiden Gruppen beträgt mindestens 1.

a=list(map(int,input().split()))
ans=abs(sum(a[:5])-sum(a[5:]))
for i in range(1<<10):
    cnt=[0,0]
    val=[0,0]
    for j in range(10):
        cnt[(i>>j)&1]+=1
        val[(i>>j)&1]+=a[j]
    if cnt[0]==cnt[1]:
        ans=min(ans,abs(val[0]-val[1]))
print(ans)

Guess you like

Origin blog.csdn.net/2301_76848549/article/details/134998250