Submission details
Task:Monikulmio
Sender:OK123
Submission time:2025-11-05 19:51:44 +0200
Language:Python3 (CPython3)
Status:READY
Result:57
Feedback
groupverdictscore
#157
Test results
testverdicttimescore
#1ACCEPTED0.02 s10details
#2ACCEPTED0.19 s10details
#3ACCEPTED0.18 s10details
#4ACCEPTED0.15 s10details
#5ACCEPTED0.18 s10details
#6ACCEPTED0.06 s7details
#7--0details
#8--0details
#9--0details
#10--0details

Code

n, m, k = map(int, input().split())
 
kords=[]
 
for l in range(k):
    y, x = map(int, input().split())
    kords.append((y, x))
kords.append(kords[0])
 
 
lists = [["." for s in range(m)] for g in range(n)]
 
 
for point in kords:
        (lists[point[0]-1])[point[1]-1]="*"
 
 

import math
 
 

 
             
for i in range(0, k):
    if (kords[i])[0]==(kords[i+1][0]):
        for d in range(min((kords[i])[1], (kords[i+1])[1]), max((kords[i])[1], (kords[i+1])[1])-1):
             (lists[(kords[i])[0]-1])[d]="="
          #kerkki===
    
    if (kords[i])[1]==(kords[i+1][1]):
         for d in range(min((kords[i])[0], (kords[i+1])[0]), max((kords[i])[0], (kords[i+1])[0])-1):
              (lists[d])[(kords[i])[1]-1]="|"
          #merkki |||||||
        
 
    else:
        t=0
        if (kords[i])[0]<(kords[i+1][0]) and (kords[i])[1]<(kords[i+1][1]):
             for d in range(min((kords[i])[0], (kords[i+1])[0]), max((kords[i])[0], (kords[i+1])[0])-1):
                  (lists[d])[min((kords[i])[1], (kords[i+1])[1])+t]="\\"
                  t+=1
        if (kords[i])[0]<(kords[i+1][0]) and (kords[i])[1]>(kords[i+1][1]):
             for d in range(min((kords[i])[0], (kords[i+1])[0]), max((kords[i])[0], (kords[i+1])[0])-1):
                  (lists[d])[max((kords[i])[1], (kords[i+1])[1])-t-2]="/"
                  t+=1
         #merkki \\\
        
        if (kords[i])[0]>(kords[i+1][0]) and (kords[i])[1]<(kords[i+1][1]):
            for d in range(min((kords[i])[0], (kords[i+1])[0]), max((kords[i])[0], (kords[i+1])[0])-1):
                (lists[d])[max((kords[i])[1], (kords[i+1])[1])-t-2]="/"
                t+=1
        if (kords[i])[0]>(kords[i+1][0]) and (kords[i])[1]>(kords[i+1][1]):
             for d in range(min((kords[i])[0], (kords[i+1])[0]), max((kords[i])[0], (kords[i+1])[0])-1):
                  (lists[d])[min((kords[i])[1], (kords[i+1])[1])+t]="\\"
                  t+=1
            
         #merkki \\\
 
#täyttö:


                  

for j in range(1, n-1):
        if (lists[j])[0]==".":
          (lists[j])[0]="a"
        if (lists[j])[m-1]==".":
             (lists[j])[0]="a"

for k in range(n*m):
     for j in range(0, n-1):
      for i in range(0, m-1):
          if (lists[j])[i]==".":
              if (lists[j])[i+1]=="a" or (lists[j])[i-1]=="a" or (lists[j+1])[i]=="a" or (lists[j-1])[i]=="a":
                  (lists[j])[i]="a"
for i in range(m):
     if (lists[n-1])[i]==".":
          (lists[n-1])[i]="a"
for i in range(n):
     if (lists[i])[m-1]==".":
          (lists[i])[m-1]="a"

for j in range(n):
    for l in range(m):
         if (lists[j])[l]==".":
              (lists[j])[l]="#"

for j in range(n):
    for l in range(m):
         if (lists[j])[l]=="a":
              (lists[j])[l]="."
              
 
for j in range(n):
    for l in range(m):
        print((lists[j])[l],end="")
    print(" ")

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
.................................

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

Test 7 (public)

Verdict:

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

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

user output
(empty)

Test 8 (public)

Verdict:

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

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

user output
(empty)

Test 9 (public)

Verdict:

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

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

user output
(empty)

Test 10 (public)

Verdict:

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

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

user output
(empty)