Submission details
Task:Monikulmio
Sender:MaksimMoz
Submission time:2025-11-06 14:48:31 +0200
Language:Python3 (PyPy3)
Status:READY
Result:94
Feedback
groupverdictscore
#1ACCEPTED94
Test results
testverdicttimescore
#1ACCEPTED0.07 s10details
#2ACCEPTED0.07 s10details
#3ACCEPTED0.07 s10details
#4ACCEPTED0.07 s10details
#5ACCEPTED0.07 s10details
#6ACCEPTED0.06 s10details
#7ACCEPTED0.08 s10details
#8ACCEPTED0.09 s10details
#9ACCEPTED0.08 s7details
#10ACCEPTED0.14 s7details

Code

import re
n,m,k=map(int,re.findall(r'\d+',input()))
p=[tuple(int(x)-1 for x in re.findall(r'\d+',input())) for _ in' '*k]
g=[list('.'*m) for _ in' '*n]
for (y1,x1),(y2,x2) in zip(p,p[1:]+p[:1]):
    dy=(y2>y1)-(y2<y1);dx=(x2>x1)-(x2<x1)
    c=dy==0 and '=' or dx==0 and '|' or (dy==dx and '\\' or '/')
    for t in range(1,max(abs(y2-y1),abs(x2-x1))): g[y1+dy*t][x1+dx*t]=c
for y,x in p: g[y][x]='*'
s=[]
for i in range(n):
    for j in (0,m-1):
        if 0<=j<m and g[i][j]=='.': g[i][j]='o';s.append((i,j))
for j in range(m):
    for i in (0,n-1):
        if 0<=i<n and g[i][j]=='.': g[i][j]='o';s.append((i,j))
while s:
    y,x=s.pop()
    for a,b in ((1,0),(-1,0),(0,1),(0,-1)):
        Y,X=y+a,x+b
        if 0<=Y<n and 0<=X<m and g[Y][X]=='.': g[Y][X]='o';s.append((Y,X))
print('\n'.join(''.join('#'if c=='.'else'.'if c=='o'else c for c in r) for r in g))

Test details

Test 1 (public)

Verdict: ACCEPTED

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

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

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

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: ACCEPTED

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

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

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

Test 4 (public)

Verdict: ACCEPTED

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

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

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

Test 5 (public)

Verdict: ACCEPTED

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

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

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

Test 6 (public)

Verdict: ACCEPTED

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

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

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

Test 7 (public)

Verdict: ACCEPTED

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

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

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

Test 8 (public)

Verdict: ACCEPTED

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

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

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

Test 9 (public)

Verdict: ACCEPTED

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

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

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

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

Test 10 (public)

Verdict: ACCEPTED

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

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

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

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