CSES - Datatähti 2022 alku - Results
Submission details
Task:Tietoverkko
Sender:Tipu
Submission time:2021-10-14 19:17:25 +0300
Language:Python3 (CPython3)
Status:READY
Result:10
Feedback
groupverdictscore
#1ACCEPTED10
#20
#30
Test results
testverdicttimegroup
#1ACCEPTED0.03 s1, 2, 3details
#2--2, 3details
#3--3details

Code

def määritä(a, b, x, pienimmät: dict, n):
   # print("määritys") 
    i = 0
    store = pienimmät.copy()
  #  print(store)
    while i < len(store):
   #     print(store[i])
       # if b in store[i]:
            # print("TÄÄLLÄ")
            # if store[i][b] < x:
            #    # print("yksi") 
            #     pienimmät[i][a] = store[i][b]
            #     pienimmät.update({a: {i: store[i][b]}})
            # else:
            #     pienimmät[i][a] = x
            #     pienimmät.update({a: {i: x}})
            #     # print("kaksi") 
        if a in store[i]:
            if store[i][a] < x:
               # print("kolme") 
                pienimmät[i][b] = store[i][a]
                if not b in pienimmät:
                     pienimmät.update({b: {i: store[i][a]}})
                else:
                    pienimmät[b].update({i: store[i][a]})
               
            else:
                pienimmät[i][b] = x
                if not b in pienimmät:
                    pienimmät.update({b: {i: x}})
                else:
                    pienimmät[b].update({i: x})
                # print("neljä") 
        i += 1
    emptList1 = {b : x}
    emptList2 = {a : x}
    if not a in pienimmät:
        pienimmät.update({a : {b : x}})
    else:
        pienimmät[a].update({b : x})
    if not b in pienimmät:
        pienimmät.update({b : {a : x}})
    else:
        pienimmät[b].update({a : x})

   # print(pienimmät)
    return pienimmät
 
def laske(verkko):
   # print(verkko) 
    j = 0
    i = 1
    luku = 0
    saveI = i
  #  print(len(verkko))
    while j < len(verkko):
        i = saveI
      #  print(len(verkko[j]))
        while i < len(verkko):
         #   print(verkko[j][i], verkko[j] , i) 
            luku += verkko[j][i]
            i += 1
        saveI += 1
        j += 1
    return luku	
	
def main():
    n = int(input())
  #  print(n) 
    i = 0
    a = []
    b = []
    x = []
    pienimmät = {}
    while i < n - 1:
        abx = input().split(" ")
        a = int(abx[0])
        b = int(abx[1])
        x = int(abx[2])
        pienimmät = määritä(a - 1, b - 1, x, pienimmät, n) 
      #  print(a, b, x) 
        
        i += 1
    
    print(laske(pienimmät))
   # print("moi") 
			
main() 
		

Test details

Test 1

Group: 1, 2, 3

Verdict: ACCEPTED

input
100
1 2 74
1 3 100
2 4 50
3 5 40
...

correct output
88687

user output
88687

Test 2

Group: 2, 3

Verdict:

input
5000
1 2 613084013
1 3 832364259
2 4 411999902
3 5 989696303
...

correct output
1103702320243776

user output
(empty)

Test 3

Group: 3

Verdict:

input
200000
1 2 613084013
1 3 832364259
2 4 411999902
3 5 989696303
...

correct output
1080549209850010931

user output
(empty)