QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#90056#2017. 排水系统ChatGPT0 39ms10016kbPython31.2kb2023-03-22 03:34:072023-03-22 03:34:10

Judging History

This is the latest submission verdict.

  • [2023-08-10 23:21:45]
  • System Update: QOJ starts to keep a history of the judgings of all the submissions.
  • [2023-03-22 03:34:10]
  • Judged
  • Verdict: 0
  • Time: 39ms
  • Memory: 10016kb
  • [2023-03-22 03:34:07]
  • Submitted

answer

from fractions import Fraction

def dfs(node, path_flow, adj_list, visited):
    visited[node] = True
    
    if not adj_list[node]:
        return {node: path_flow}
    
    flows = {}
    for neighbor, flow in adj_list[node]:
        if not visited[neighbor]:
            subflows = dfs(neighbor, path_flow * flow, adj_list, visited)
            for key, value in subflows.items():
                if key in flows:
                    flows[key] += value
                else:
                    flows[key] = value
    return flows

def water_distribution(n, m, adj_list):
    visited = [False] * (n + 1)
    flows = dfs(1, Fraction(1, 1), adj_list, visited)
    results = sorted(flows.items(), key=lambda x: x[0])
    return results

# 输入处理
n, m = map(int, input().split())
adj_list = {i: [] for i in range(1, n+1)}

for i in range(1, n+1):
    line = list(map(int, input().split()))
    d = line[0]
    targets = line[1:]
    
    if d > 0:
        flow = Fraction(1, d)
        adj_list[i] = [(t, flow) for t in targets]

# 计算结果
result = water_distribution(n, m, adj_list)

# 输出结果
for k, v in result:
    print(v.numerator, v.denominator)

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 0
Wrong Answer
time: 26ms
memory: 9452kb

input:

10 1
4 2 3 4 5
3 6 7 8
3 7 10 8
1 7
2 8 10
2 8 9
2 9 8
1 10
1 10
0

output:

1 24

result:

wrong answer 2nd words differ - expected: '1', found: '24'

Test #2:

score: 0
Wrong Answer
time: 26ms
memory: 9564kb

input:

10 1
5 2 3 4 5 7
3 6 7 9
3 7 8 9
3 8 9 6
1 7
2 9 10
2 10 9
0
0
0

output:

1 15
1 30
1 30

result:

wrong answer 1st words differ - expected: '2', found: '1'

Test #3:

score: 0
Wrong Answer
time: 30ms
memory: 9528kb

input:

10 1
5 2 3 4 5 8
4 6 8 7 9
2 7 6
4 8 6 9 10
2 9 8
1 10
0
0
1 10
0

output:

1 20
1 20
1 20

result:

wrong answer 1st words differ - expected: '3', found: '1'

Test #4:

score: 0
Wrong Answer
time: 30ms
memory: 9904kb

input:

1000 1
5 2 3 4 5 468
5 6 7 8 9 72
5 10 11 12 13 658
5 14 15 16 17 100
5 18 19 20 21 129
5 22 23 24 25 146
5 26 27 28 29 91
5 30 31 32 33 337
5 34 35 36 37 694
5 38 39 40 41 766
5 42 43 44 45 986
5 46 47 48 49 365
5 50 51 52 53 176
5 54 55 56 57 489
5 58 59 60 61 469
5 62 63 64 65 984
5 66 67 68 69 2...

output:

1 625
1 625
1 625
1 625
1 625
1 625
1 625
1 3125
1 3125
1 3125
1 3125
1 3125
1 3125
1 2500
1 2500
1 3125
1 3125
1 3125
1 3125
1 3125
1 3125
1 3125
1 3125
1 3125
1 3125
1 3125
1 3125
1 3125
1 3125
1 3125
1 3125
1 3125
1 3125
1 3125
1 2500
1 3125
1 3125
1 3125
1 2500
1 2500
1 3125
1 3125
1 3125
1 3125...

result:

wrong answer 19th words differ - expected: '2', found: '1'

Test #5:

score: 0
Wrong Answer
time: 23ms
memory: 9856kb

input:

1000 1
5 2 3 4 5 257
5 6 7 8 9 948
5 10 11 12 13 633
5 14 15 16 17 1000
5 18 19 20 21 105
5 22 23 24 25 662
5 26 27 28 29 648
5 30 31 32 33 394
5 34 35 36 37 504
5 38 39 40 41 151
5 42 43 44 45 155
5 46 47 48 49 783
4 50 51 52 53
5 54 55 56 57 249
5 58 59 60 61 432
5 62 63 64 65 423
5 66 67 68 69 70...

output:

1 625
1 625
1 125
1 625
1 625
1 625
1 625
1 625
1 625
1 625
1 500
1 1875
1 2500
1 2500
1 3125
1 2500
1 3125
1 3125
1 3125
1 1875
1 2500
1 2000
1 1500
1 2500
1 1875
1 3125
1 3125
1 1500
1 1500
1 1500
1 1500
1 1500
1 1500
1 2000
1 2000
1 625
1 1250
1 15625
1 5000
1 15625
1 15625
1 6250
1 9375
1 3125
1...

result:

wrong answer 5th words differ - expected: '6', found: '1'

Test #6:

score: 0
Wrong Answer
time: 39ms
memory: 10016kb

input:

1000 1
5 2 3 4 5 799
5 6 7 8 9 587
5 10 11 12 13 694
5 14 15 16 17 865
5 18 19 20 21 10
5 22 23 24 25 69
5 26 27 28 29 337
5 30 31 32 33 607
5 34 35 36 37 989
5 38 39 40 41 291
5 42 43 44 45 309
5 46 47 48 49 44
5 50 51 52 53 854
5 54 55 56 57 209
5 58 59 60 61 502
5 62 63 64 65 597
5 66 67 68 69 60...

output:

1 625
1 625
1 625
1 625
1 625
1 625
1 625
1 125
1 3125
1 625
1 2000
1 2000
1 2500
1 2500
1 2500
1 1500
1 1875
1 2500
1 3125
1 2500
1 3125
1 3125
1 3125
1 1250
1 2500
1 2500
1 3125
1 2500
1 2500
1 3125
1 1875
1 1875
1 2500
1 3125
1 1875
1 1875
1 2500
1 2500
1 3125
1 3125
1 2000
1 2000
1 2500
1 1500
1...

result:

wrong answer 13th words differ - expected: '2', found: '1'

Test #7:

score: 0
Time Limit Exceeded

input:

100000 1
5 2 3 4 5 7783
5 6 7 8 9 21991
5 10 11 12 13 45651
5 14 15 16 17 56745
5 18 19 20 21 84002
5 22 23 24 25 94984
5 26 27 28 29 16303
5 30 31 32 33 30894
5 34 35 36 37 37939
5 38 39 40 41 61574
5 42 43 44 45 72828
5 46 47 48 49 92611
5 50 51 52 53 11795
5 54 55 56 57 22587
5 58 59 60 61 36800
...

output:


result:


Test #8:

score: 0
Time Limit Exceeded

input:

100000 1
5 2 3 4 5 6025
5 6 7 8 9 32221
5 10 11 12 13 39240
5 14 15 16 17 55392
5 18 19 20 21 69386
5 22 23 24 25 97544
5 26 27 28 29 16414
5 30 31 32 33 32966
5 34 35 36 37 41376
5 38 39 40 41 66116
5 42 43 44 45 83340
5 46 47 48 49 90236
5 50 51 52 53 13716
5 54 55 56 57 32168
5 58 59 60 61 43106
...

output:


result:


Test #9:

score: 0
Time Limit Exceeded

input:

100000 10
5 11 12 13 14 15
3 66 67 68
4 96 97 98 99
5 1274 1643 2223 2242 2626
5 5407 8119 10748 19818 29900
5 178 180 316 323 1080
5 274 596 716 1923 2001
5 1497 8384 9739 16776 18532
5 165 211 240 289 985
5 170 179 197 222 1011
5 16 17 18 19 20
5 164 322 540 590 1641
5 340 4731 14181 50729 55910
5...

output:


result:


Test #10:

score: 0
Time Limit Exceeded

input:

100000 10
5 11 12 13 14 15
3 66 67 68
4 98 99 100 101
5 193 213 239 613 1656
5 187 259 453 513 3129
5 148 606 2076 5693 30126
5 748 1455 3800 4919 8049
5 264 419 516 868 1222
5 260 19073 24446 65904 50227
5 196 4456 4784 83171 95673
5 16 17 18 19 20
5 182 277 388 1070 2021
5 279 1317 4410 14701 2557...

output:


result: