Submission details
Task:Monikulmio
Sender:AapoL
Submission time:2025-10-28 19:22:44 +0200
Language:Python3 (PyPy3)
Status:READY
Result:0
Feedback
groupverdictscore
#10
Test results
testverdicttimescore
#10.07 s0details
#20.07 s0details
#30.07 s0details
#40.07 s0details
#50.07 s0details
#60.07 s0details
#70.08 s0details
#80.09 s0details
#90.09 s0details
#100.37 s0details

Code

from math import sqrt, isclose

text = input()

# Ruudukon korkeus, leveys ja monikulmion kärkipisteiden määrä
split = text.split()

n, m, k = int(split[0]), int(split[1]), int(split[2])

coords = []
for i in range(k):
    coords_temp = input()
    coords_split = coords_temp.split()
    print(coords_split)
    coords.append(coords_split) 
    print(coords)

#coords = [[5, 2], [2, 5], [5, 8], [7, 8], [7, 2]]

def drawline(coord1, coord2):
    if coord1[1] == coord2[1]:
        return("Vertical")

def distance(a, b):
    return sqrt((a[1] - b[1])**2 + (a[0] - b[0])**2)

def is_between(a, b, c):
    if distance(a,c) + distance(c,b) == distance(a,b):
        if a[0] == b[0]:
            print("=", end="")
            return True
        elif a[1] == b[1]:
            print("|", end="")
            return True
    elif isclose((distance(a,c) + distance(c,b)), distance(a,b)):
        if a[0] < b[0]:
            print("\\", end="")
        elif a[0] > b[0]:
            print("/", end="")
        return True

def is_line(point): 
    for i in range(len(coords)):
        start = coords[i]
        end = coords[(i + 1) % len(coords)]
        if is_between(start, end, point):
            return True
    return False

for i in range(n):
    for j in range(m):
        if [i+1, j+1] in coords:
            print("*", end="")
        elif is_line([i+1, j+1]):
            print("", end="")
        else:
            print(".", end="")

    print("")

Test details

Test 1 (public)

Verdict:

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

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

user output
['5', '2']
[['5', '2']]
['2', '5']
[['5', '2'], ['2', '5']]
['5', '8']
...

Error:
Traceback (most recent call last):
  File "input/code.py", line 54, in <module>
    elif is_line([i+1, j+1]):
  File "input/code.py", line 46, in is_line
    if is_between(start, end, point):
  File "input/code.py", line 28, in is_between
    if distance(a,c) + distance(c,b) == distance(a,b):
  File "input/code.py", line 25, in distance
    return sqrt((a[1] - b[1])**2 + (a[0] - b[0])**2)
TypeError: unsupported operand type(s) for -: 'str' and 'int'

Test 2 (public)

Verdict:

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

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

user output
['5', '10']
[['5', '10']]
['5', '30']
[['5', '10'], ['5', '30']]
['15', '30']
...

Error:
Traceback (most recent call last):
  File "input/code.py", line 54, in <module>
    elif is_line([i+1, j+1]):
  File "input/code.py", line 46, in is_line
    if is_between(start, end, point):
  File "input/code.py", line 28, in is_between
    if distance(a,c) + distance(c,b) == distance(a,b):
  File "input/code.py", line 25, in distance
    return sqrt((a[1] - b[1])**2 + (a[0] - b[0])**2)
TypeError: unsupported operand type(s) for -: 'str' and 'int'

Test 3 (public)

Verdict:

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

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

user output
['8', '7']
[['8', '7']]
['13', '2']
[['8', '7'], ['13', '2']]
['14', '2']
...

Error:
Traceback (most recent call last):
  File "input/code.py", line 54, in <module>
    elif is_line([i+1, j+1]):
  File "input/code.py", line 46, in is_line
    if is_between(start, end, point):
  File "input/code.py", line 28, in is_between
    if distance(a,c) + distance(c,b) == distance(a,b):
  File "input/code.py", line 25, in distance
    return sqrt((a[1] - b[1])**2 + (a[0] - b[0])**2)
TypeError: unsupported operand type(s) for -: 'str' and 'int'

Test 4 (public)

Verdict:

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

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

user output
['5', '12']
[['5', '12']]
['5', '25']
[['5', '12'], ['5', '25']]
['8', '28']
...

Error:
Traceback (most recent call last):
  File "input/code.py", line 54, in <module>
    elif is_line([i+1, j+1]):
  File "input/code.py", line 46, in is_line
    if is_between(start, end, point):
  File "input/code.py", line 28, in is_between
    if distance(a,c) + distance(c,b) == distance(a,b):
  File "input/code.py", line 25, in distance
    return sqrt((a[1] - b[1])**2 + (a[0] - b[0])**2)
TypeError: unsupported operand type(s) for -: 'str' and 'int'

Test 5 (public)

Verdict:

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

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

user output
['3', '20']
[['3', '20']]
['7', '16']
[['3', '20'], ['7', '16']]
['7', '9']
...

Error:
Traceback (most recent call last):
  File "input/code.py", line 54, in <module>
    elif is_line([i+1, j+1]):
  File "input/code.py", line 46, in is_line
    if is_between(start, end, point):
  File "input/code.py", line 28, in is_between
    if distance(a,c) + distance(c,b) == distance(a,b):
  File "input/code.py", line 25, in distance
    return sqrt((a[1] - b[1])**2 + (a[0] - b[0])**2)
TypeError: unsupported operand type(s) for -: 'str' and 'int'

Test 6 (public)

Verdict:

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

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

user output
['2', '3']
[['2', '3']]
['2', '8']
[['2', '3'], ['2', '8']]
['4', '8']
...

Error:
Traceback (most recent call last):
  File "input/code.py", line 54, in <module>
    elif is_line([i+1, j+1]):
  File "input/code.py", line 46, in is_line
    if is_between(start, end, point):
  File "input/code.py", line 28, in is_between
    if distance(a,c) + distance(c,b) == distance(a,b):
  File "input/code.py", line 25, in distance
    return sqrt((a[1] - b[1])**2 + (a[0] - b[0])**2)
TypeError: unsupported operand type(s) for -: 'str' and 'int'

Test 7 (public)

Verdict:

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

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

user output
['6', '10']
[['6', '10']]
['6', '14']
[['6', '10'], ['6', '14']]
['7', '14']
...

Error:
Traceback (most recent call last):
  File "input/code.py", line 54, in <module>
    elif is_line([i+1, j+1]):
  File "input/code.py", line 46, in is_line
    if is_between(start, end, point):
  File "input/code.py", line 28, in is_between
    if distance(a,c) + distance(c,b) == distance(a,b):
  File "input/code.py", line 25, in distance
    return sqrt((a[1] - b[1])**2 + (a[0] - b[0])**2)
TypeError: unsupported operand type(s) for -: 'str' and 'int'

Test 8 (public)

Verdict:

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

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

user output
['11', '3']
[['11', '3']]
['11', '5']
[['11', '3'], ['11', '5']]
['10', '6']
...

Error:
Traceback (most recent call last):
  File "input/code.py", line 54, in <module>
    elif is_line([i+1, j+1]):
  File "input/code.py", line 46, in is_line
    if is_between(start, end, point):
  File "input/code.py", line 28, in is_between
    if distance(a,c) + distance(c,b) == distance(a,b):
  File "input/code.py", line 25, in distance
    return sqrt((a[1] - b[1])**2 + (a[0] - b[0])**2)
TypeError: unsupported operand type(s) for -: 'str' and 'int'

Test 9 (public)

Verdict:

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

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

user output
['1', '1']
[['1', '1']]
['1', '7']
[['1', '1'], ['1', '7']]
['1', '11']
...

Error:
Traceback (most recent call last):
  File "input/code.py", line 54, in <module>
    elif is_line([i+1, j+1]):
  File "input/code.py", line 46, in is_line
    if is_between(start, end, point):
  File "input/code.py", line 28, in is_between
    if distance(a,c) + distance(c,b) == distance(a,b):
  File "input/code.py", line 25, in distance
    return sqrt((a[1] - b[1])**2 + (a[0] - b[0])**2)
TypeError: unsupported operand type(s) for -: 'str' and 'int'

Test 10 (public)

Verdict:

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

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

user output
['10', '1']
[['10', '1']]
['4', '7']
[['10', '1'], ['4', '7']]
['1', '4']
...

Error:
Traceback (most recent call last):
  File "input/code.py", line 54, in <module>
    elif is_line([i+1, j+1]):
  File "input/code.py", line 46, in is_line
    if is_between(start, end, point):
  File "input/code.py", line 28, in is_between
    if distance(a,c) + distance(c,b) == distance(a,b):
  File "input/code.py", line 25, in distance
    return sqrt((a[1] - b[1])**2 + (a[0] - b[0])**2)
TypeError: unsupported operand type(s) for -: 'str' and 'int'