Submission details
Task:Monikulmio
Sender:NicholasAhman
Submission time:2025-11-03 15:28:05 +0200
Language:Python3 (PyPy3)
Status:READY
Result:0
Feedback
groupverdictscore
#10
Test results
testverdicttimescore
#10.04 s0details
#20.04 s0details
#30.04 s0details
#40.04 s0details
#50.05 s0details
#60.04 s0details
#70.07 s0details
#80.06 s0details
#90.07 s0details
#100.09 s0details

Code

i1=input("")
i1_list=i1.split(" ")
 
width=int(i1_list[0])
height=int(i1_list[1])
corner_count=int(i1_list[2])
 
def draw_line(x1, y1, x2, y2):
    if abs(x1-x2)==abs(y1-y2):
        draw_diag(x1, y1, x2, y2)
    elif x1==x2:
        draw_vertical(x1, y1, x2, y2)
    elif y1==y2:
        draw_horizontal(x1, y1, x2, y2)
 
canvas=[]
 
def draw(x, y, c):
    canvas[y][x]=c
 
def draw_vertical(x1, y1, x2, y2):
    draw(x1, y1, "*")
    draw(x2, y2, "*")
 
    dir=1
    if y2-y1<0:
        dir=-1
    
    distance = abs(y2-y1)
    for i in range(1,distance):
        draw(x1, y1+dir*i, "|")
 
def draw_horizontal(x1, y1, x2, y2):
    draw(x1, y1, "*")
    draw(x2, y2, "*")
 
    dir=1
    if x2-x1<0:
        dir=-1
    
    distance = abs(x2-x1)
    for i in range(1,distance):
        draw(x1+dir*i, y1, "=")
 
def draw_diag(x1, y1, x2, y2):
    x_dir=1
    if x2-x1<0:
        x_dir = -1
    
    y_dir=1
    if y2-y1<0:
        y_dir=-1
    
    distance = abs(x2-x1)
 
    draw(x1, y1, "*")
    draw(x2, y2, "*")
 
    char="\\"
    if x_dir==y_dir:
        char="/"
 
    for i in range(1,distance):
        draw(x1+x_dir*i, y1+y_dir*i, char)
 
for i in range(height):
    canvas.append([])
    arr = canvas[len(canvas)-1]
    for j in range(width):
        arr.append(".")
 
points=[]
last_pidx=-1
 
for i in range(corner_count):
    point=input("")
    point2=point.split(" ")
    x=int(point2[0])
    y=int(point2[1])
 
    points.append([x,y])
 
for i in range(len(points)):
    if last_pidx > -1:
        p=points[last_pidx]
        draw_line(p[0], p[1], points[i][0], points[i][1])
        last_pidx=i
    else:
        last_pidx=0
 
last = points[len(points)-1]
draw_line(points[0][0], points[0][1], last[0], last[1])

right_of_edge = False
directly_after_edge = False
for i in range(height):
    right_of_edge = False
    directly_after_edge = False
    for j in range(width):
        if canvas[i][j] != "." and not directly_after_edge:
            if right_of_edge:
                right_of_edge = False
            else:
                right_of_edge = True
            
            directly_after_edge = True

        elif canvas[i][j] != "." and directly_after_edge:
            right_of_edge = False
        else:
            if directly_after_edge:
                directly_after_edge = False
            if right_of_edge:
                canvas[i][j] = "#"


for i in range(height):
        print("".join(canvas[i]))

Test details

Test 1 (public)

Verdict:

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

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

user output
........
........
.....*=*
....\##|
...\###|
...

Feedback: Incorrect length on line 1: expected 9, got 8

Test 2 (public)

Verdict:

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

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

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

Feedback: Incorrect length on line 1: expected 40, got 20

Test 3 (public)

Verdict:

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

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

user output
....................
....................
.............**.....
............\\......
...........\\.......
...

Feedback: Incorrect length on line 1: expected 40, got 20

Test 4 (public)

Verdict:

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

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

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

Feedback: Incorrect length on line 1: expected 40, got 20

Test 5 (public)

Verdict:

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

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

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

Feedback: Incorrect length on line 1: expected 40, got 20

Test 6 (public)

Verdict:

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

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

user output
.........
.........
...*===*.
..*#####*
..|#####|
...

Feedback: Incorrect length on line 1: expected 35, got 9

Test 7 (public)

Verdict:

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

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

user output
(empty)

Error:
Traceback (most recent call last):
  File "input/code.py", line 86, in <module>
    draw_line(p[0], p[1], points[i][0], points[i][1])
  File "input/code.py", line 10, in draw_line
    draw_diag(x1, y1, x2, y2)
  File "input/code.py", line 57, in draw_diag
    draw(x2, y2, "*")
  File "input/code.py", line 19, in draw
    canvas[y][x]=c
IndexError: list index out of range

Test 8 (public)

Verdict:

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

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

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

Feedback: Incorrect length on line 1: expected 60, got 40

Test 9 (public)

Verdict:

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

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

user output
(empty)

Error:
Traceback (most recent call last):
  File "input/code.py", line 86, in <module>
    draw_line(p[0], p[1], points[i][0], points[i][1])
  File "input/code.py", line 14, in draw_line
    draw_horizontal(x1, y1, x2, y2)
  File "input/code.py", line 35, in draw_horizontal
    draw(x2, y2, "*")
  File "input/code.py", line 19, in draw
    canvas[y][x]=c
IndexError: list index out of range

Test 10 (public)

Verdict:

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

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

user output
(empty)

Error:
Traceback (most recent call last):
  File "input/code.py", line 86, in <module>
    draw_line(p[0], p[1], points[i][0], points[i][1])
  File "input/code.py", line 10, in draw_line
    draw_diag(x1, y1, x2, y2)
  File "input/code.py", line 57, in draw_diag
    draw(x2, y2, "*")
  File "input/code.py", line 19, in draw
    canvas[y][x]=c
IndexError: list index out of range