| Task: | Uolevin kalansaalis | 
| Sender: | Lelleri | 
| Submission time: | 2023-11-01 21:19:15 +0200 | 
| Language: | Python3 (CPython3) | 
| Status: | READY | 
| Result: | 0 | 
| group | verdict | score | 
|---|---|---|
| #1 | WRONG ANSWER | 0 | 
| #2 | WRONG ANSWER | 0 | 
| test | verdict | time | group | |
|---|---|---|---|---|
| #1 | ACCEPTED | 0.02 s | 1, 2 | details | 
| #2 | ACCEPTED | 0.02 s | 1, 2 | details | 
| #3 | ACCEPTED | 0.02 s | 1, 2 | details | 
| #4 | WRONG ANSWER | 0.02 s | 1, 2 | details | 
| #5 | ACCEPTED | 0.02 s | 1, 2 | details | 
| #6 | WRONG ANSWER | 0.02 s | 1, 2 | details | 
| #7 | ACCEPTED | 0.02 s | 1, 2 | details | 
| #8 | ACCEPTED | 0.02 s | 1, 2 | details | 
| #9 | ACCEPTED | 0.02 s | 1, 2 | details | 
| #10 | WRONG ANSWER | 0.02 s | 1, 2 | details | 
| #11 | WRONG ANSWER | 0.02 s | 1, 2 | details | 
| #12 | WRONG ANSWER | 0.02 s | 1, 2 | details | 
| #13 | WRONG ANSWER | 0.02 s | 1, 2 | details | 
| #14 | WRONG ANSWER | 0.02 s | 1, 2 | details | 
| #15 | WRONG ANSWER | 0.02 s | 1, 2 | details | 
| #16 | TIME LIMIT EXCEEDED | -- | 2 | details | 
| #17 | TIME LIMIT EXCEEDED | -- | 2 | details | 
| #18 | TIME LIMIT EXCEEDED | -- | 2 | details | 
| #19 | TIME LIMIT EXCEEDED | -- | 2 | details | 
| #20 | TIME LIMIT EXCEEDED | -- | 2 | details | 
| #21 | TIME LIMIT EXCEEDED | -- | 2 | details | 
| #22 | TIME LIMIT EXCEEDED | -- | 2 | details | 
| #23 | TIME LIMIT EXCEEDED | -- | 2 | details | 
| #24 | TIME LIMIT EXCEEDED | -- | 2 | details | 
Code
def get_value(lista):
    total_value = 0
    for x in range(len(lista)):
        total_value -= lista[x].count("H")*1
        total_value += lista[x].count("K")*10
    return total_value
def kolmio(coord, neliökoko, xliike, yliike):
    last = 0
    points_alas = []
    points_ylös = []
    for row in range(1, neliökoko+1):
        points_ylös.append(("#"*row + "."*(neliökoko//2-last)).rjust(neliökoko, "."))
        points_alas.append(("#"*row + "."*(neliökoko//2-last)).rjust(neliökoko, "."))
        offset = row % 2
        if(offset == 1):
            last += 1
    if(yliike % 2 == 0):
        points_ylös = [p[::-1] for p in points_ylös]
        points_alas = [p[::-1] for p in points_alas]
    points_alas = [p[::-1] for p in points_alas][::-1]
    ky = [[coord[y+yliike][x+xliike] if points_ylös[y][x] == "#" else " " for x in range(neliökoko)] for y in range(neliökoko)]
    ka = [[coord[y+yliike][x+xliike] if points_alas[y][x] == "#" else " " for x in range(neliökoko)] for y in range(neliökoko)]
    return ky, ka
n, m, k = [int(i) for i in input().split()]
coords = [input().split() for _ in range(k)]
coord = [["_" for _ in range(m)] for _ in range(n)]
for p in coords:
    coord[int(p[0])-1][int(p[1])-1] = p[2]
best = (0, None)
for neliökoko in range(1, min(m, n)):
    for xliike in range(1, m-neliökoko):
        for yliike in range(n-neliökoko):
            kolmioylös, kolmioalas = kolmio(coord, neliökoko+1, xliike, yliike)
            value_y = get_value(kolmioylös)
            value_a = get_value(kolmioalas)
            if(value_y > best[0]):
                best = value_y, kolmioylös
            if(value_a > best[0]):
                best = value_a, kolmioalas
print(-(get_value(coord)-best[0]))
Test details
Test 1
Group: 1, 2
Verdict: ACCEPTED
| input | 
|---|
| 5 6 13 1 1 K 5 1 K 2 2 H 4 2 H ...  | 
| correct output | 
|---|
| -16 | 
| user output | 
|---|
| -16 | 
Test 2
Group: 1, 2
Verdict: ACCEPTED
| input | 
|---|
| 5 6 7 1 5 K 4 6 K 2 4 H 2 5 H ...  | 
| correct output | 
|---|
| 0 | 
| user output | 
|---|
| 0 | 
Test 3
Group: 1, 2
Verdict: ACCEPTED
| input | 
|---|
| 5 6 7 5 5 K 2 6 K 2 4 H 2 5 H ...  | 
| correct output | 
|---|
| 0 | 
| user output | 
|---|
| 0 | 
Test 4
Group: 1, 2
Verdict: WRONG ANSWER
| input | 
|---|
| 10 10 51 3 3 H 6 3 H 9 5 H 5 10 H ...  | 
| correct output | 
|---|
| 50 | 
| user output | 
|---|
| 49 | 
Test 5
Group: 1, 2
Verdict: ACCEPTED
| input | 
|---|
| 10 10 52 3 5 H 3 1 H 9 6 H 2 8 H ...  | 
| correct output | 
|---|
| 40 | 
| user output | 
|---|
| 40 | 
Test 6
Group: 1, 2
Verdict: WRONG ANSWER
| input | 
|---|
| 10 10 60 6 10 H 2 8 H 5 8 H 8 10 H ...  | 
| correct output | 
|---|
| -15 | 
| user output | 
|---|
| -17 | 
Test 7
Group: 1, 2
Verdict: ACCEPTED
| input | 
|---|
| 10 10 60 4 7 H 7 4 H 4 10 H 3 6 H ...  | 
| correct output | 
|---|
| 60 | 
| user output | 
|---|
| 60 | 
Test 8
Group: 1, 2
Verdict: ACCEPTED
| input | 
|---|
| 10 10 40 9 9 H 5 10 H 5 6 H 4 9 H ...  | 
| correct output | 
|---|
| 2 | 
| user output | 
|---|
| 2 | 
Test 9
Group: 1, 2
Verdict: ACCEPTED
| input | 
|---|
| 1 1 0 | 
| correct output | 
|---|
| 0 | 
| user output | 
|---|
| 0 | 
Test 10
Group: 1, 2
Verdict: WRONG ANSWER
| input | 
|---|
| 1 1 1 1 1 K  | 
| correct output | 
|---|
| 0 | 
| user output | 
|---|
| -10 | 
Test 11
Group: 1, 2
Verdict: WRONG ANSWER
| input | 
|---|
| 1 1 1 1 1 H  | 
| correct output | 
|---|
| 0 | 
| user output | 
|---|
| 1 | 
Test 12
Group: 1, 2
Verdict: WRONG ANSWER
| input | 
|---|
| 10 5 32 10 3 H 4 4 H 3 3 H 5 4 H ...  | 
| correct output | 
|---|
| 20 | 
| user output | 
|---|
| 19 | 
Test 13
Group: 1, 2
Verdict: WRONG ANSWER
| input | 
|---|
| 5 10 32 5 9 H 2 4 H 2 9 H 2 5 H ...  | 
| correct output | 
|---|
| 28 | 
| user output | 
|---|
| 19 | 
Test 14
Group: 1, 2
Verdict: WRONG ANSWER
| input | 
|---|
| 10 10 100 2 9 H 5 4 H 5 9 K 6 1 K ...  | 
| correct output | 
|---|
| -439 | 
| user output | 
|---|
| -528 | 
Test 15
Group: 1, 2
Verdict: WRONG ANSWER
| input | 
|---|
| 10 10 100 8 9 H 5 10 H 5 4 H 3 9 H ...  | 
| correct output | 
|---|
| 88 | 
| user output | 
|---|
| 86 | 
Test 16
Group: 2
Verdict: TIME LIMIT EXCEEDED
| input | 
|---|
| 500 500 125000 125 261 K 84 78 K 11 200 K 481 246 K ...  | 
| correct output | 
|---|
| -624270 | 
| user output | 
|---|
| (empty) | 
Test 17
Group: 2
Verdict: TIME LIMIT EXCEEDED
| input | 
|---|
| 500 500 125100 16 61 H 37 62 H 459 125 H 318 476 H ...  | 
| correct output | 
|---|
| 124020 | 
| user output | 
|---|
| (empty) | 
Test 18
Group: 2
Verdict: TIME LIMIT EXCEEDED
| input | 
|---|
| 500 500 249999 22 214 H 356 145 H 341 29 H 393 262 H ...  | 
| correct output | 
|---|
| 249999 | 
| user output | 
|---|
| (empty) | 
Test 19
Group: 2
Verdict: TIME LIMIT EXCEEDED
| input | 
|---|
| 500 500 32000 30 81 H 315 34 H 78 112 H 367 166 H ...  | 
| correct output | 
|---|
| 10126 | 
| user output | 
|---|
| (empty) | 
Test 20
Group: 2
Verdict: TIME LIMIT EXCEEDED
| input | 
|---|
| 500 500 126745 164 390 H 126 331 H 164 126 H 55 92 H ...  | 
| correct output | 
|---|
| -104692 | 
| user output | 
|---|
| (empty) | 
Test 21
Group: 2
Verdict: TIME LIMIT EXCEEDED
| input | 
|---|
| 500 500 71200 106 191 H 314 189 H 482 485 H 344 401 H ...  | 
| correct output | 
|---|
| -335853 | 
| user output | 
|---|
| (empty) | 
Test 22
Group: 2
Verdict: TIME LIMIT EXCEEDED
| input | 
|---|
| 500 500 67772 421 277 H 428 470 H 169 142 H 256 345 H ...  | 
| correct output | 
|---|
| -208567 | 
| user output | 
|---|
| (empty) | 
Test 23
Group: 2
Verdict: TIME LIMIT EXCEEDED
| input | 
|---|
| 500 500 27434 366 481 H 38 22 H 126 107 H 135 169 H ...  | 
| correct output | 
|---|
| -57100 | 
| user output | 
|---|
| (empty) | 
Test 24
Group: 2
Verdict: TIME LIMIT EXCEEDED
| input | 
|---|
| 500 500 93982 183 13 H 463 230 H 264 351 H 399 290 H ...  | 
| correct output | 
|---|
| -52800 | 
| user output | 
|---|
| (empty) | 
