Submission details
Task:Monikulmio
Sender:Emerald0X2
Submission time:2025-10-28 09:27:27 +0200
Language:Python3 (PyPy3)
Status:READY
Result:31
Feedback
groupverdictscore
#131
Test results
testverdicttimescore
#1ACCEPTED0.04 s7details
#2ACCEPTED0.04 s10details
#30.04 s0details
#40.04 s0details
#5ACCEPTED0.04 s7details
#60.04 s0details
#70.06 s0details
#8ACCEPTED0.06 s7details
#90.06 s0details
#100.09 s0details

Code

board = input()

board = board.split(" ")
points = []
for i in range(int(board[2])):
    new_point = (input().split(" "))
    points.append([int(new_point[0])-1,int(new_point[1])-1])

output = []
line = "."*int(board[1])
for i in range(int(board[0])):
    output.append(list(line))

for point in points: 
    output[point[0]][point[1]] = "*"

current_point = 0
next_point = 1

for i in range(len(points)):
    diff = [points[next_point][0]-points[current_point][0],points[next_point][1]-points[current_point][1]]
    if(diff[0] > 0):
        if(diff[1] > 0):
            for i in range(diff[0]-1):
                output[points[current_point][0] + 1 + i][points[current_point][1] + 1 + i] = "\\"
        elif(diff[1] < 0):
            for i in range(diff[0]-1):
                output[points[current_point][0] + 1 + i][points[current_point][1] - 1 - i] = "/"
        else:
            for i in range(diff[0]-1):
                output[points[current_point][0] + 1 + i][points[current_point][1]] = "|"
    
    elif(diff[0] < 0):
        if(diff[1] < 0):
            for i in range(abs(diff[0]+1)):
                output[points[current_point][0] - 1 - i][points[current_point][1] - 1 - i] = "\\"
        elif(diff[1] > 0):
            for i in range(abs(diff[0]+1)):
                output[points[current_point][0] - 1 - i][points[current_point][1] + 1 + i] = "/"
        else:
            for i in range(abs(diff[0]+1)):
                output[points[current_point][0] - 1 - i][points[current_point][1]] = "|"
    elif(diff[1] > 0):
        for i in range(diff[1]-1):
            output[points[current_point][0]][points[current_point][1]+1+i] = "="
    
    elif(diff[1] < 0):
        for i in range(abs(diff[1]+1)):
            output[points[current_point][0]][points[current_point][1]-1-i] = "="

    current_point += 1
    next_point += 1
    if(next_point > int(board[2])-1):
        next_point = 0

found_inside = False
steps = 0

for i in range(len(output)-1):
    for j in range(len(output[i])-1):
        if((output[i][j] == "\\" or output[i][j] == "/" or output[i][j] == "|") and found_inside):
            for k in range(steps):
                output[i][j-k-1] = "#"
            found_inside = False

        elif(output[i][j] == "\\" or output[i][j] == "/" or output[i][j] == "|"):
            found_inside = True
            steps = 0

        elif(found_inside == True):
            steps += 1


        

out = ""
for l in output:
    for c in l:
        out += str(c)
    out += "\n"

print(out.strip())

Test details

Test 1 (public)

Verdict: ACCEPTED

input
8 9 5
5 2
2 5
5 8
7 8
...

correct output
.........
....*....
.../#\...
../###\..
.*#####*.
...

user output
.........
....*....
.../#\...
../###\..
.*.....*.
...

Feedback: Lines are drawn correctly. Incorrect fill character on row 5, col 3: expected '#', got '.'

Test 2 (public)

Verdict: ACCEPTED

input
20 40 4
5 10
5 30
15 30
15 10

correct output
.................................

user output
.................................

Test 3 (public)

Verdict:

input
20 40 29
8 7
13 2
14 2
9 7
...

correct output
.................................

user output
.................................

Feedback: Incorrect character on row 5, col 32: expected '*', got '#'

Test 4 (public)

Verdict:

input
20 40 14
5 12
5 25
8 28
13 28
...

correct output
.................................

user output
.................................

Feedback: Incorrect character on row 5, col 12: expected '*', got '#'

Test 5 (public)

Verdict: ACCEPTED

input
20 40 12
3 20
7 16
7 9
11 13
...

correct output
.................................

user output
.................................

Feedback: Lines are drawn correctly. Incorrect fill character on row 7, col 17: expected '#', got '.'

Test 6 (public)

Verdict:

input
9 35 33
2 3
2 8
4 8
4 5
...

correct output
.................................

user output
.................................

Feedback: Incorrect character on row 3, col 11: expected '*', got '#'

Test 7 (public)

Verdict:

input
30 100 69
6 10
6 14
7 14
7 18
...

correct output
.................................

user output
.................................

Feedback: Incorrect character on row 8, col 18: expected '*', got '#'

Test 8 (public)

Verdict: ACCEPTED

input
40 60 192
11 3
11 5
10 6
11 7
...

correct output
.................................

user output
.................................

Feedback: Lines are drawn correctly. Incorrect fill character on row 3, col 30: expected '#', got '.'

Test 9 (public)

Verdict:

input
50 100 142
1 1
1 7
1 11
1 14
...

correct output
*=====*===*==*...................

user output
*=====*===*==*...................

Feedback: Incorrect character on row 3, col 1: expected '*', got '#'

Test 10 (public)

Verdict:

input
100 100 1000
10 1
4 7
1 4
1 9
...

correct output
...*====*........................

user output
...*====*........................

Feedback: Incorrect character on row 2, col 8: expected '*', got '#'