Submission details
Task:Monikulmio
Sender:OK123
Submission time:2025-10-31 09:38:57 +0200
Language:Python3 (CPython3)
Status:READY
Result:7
Feedback
groupverdictscore
#17
Test results
testverdicttimescore
#1ACCEPTED0.02 s7details
#20.02 s0details
#30.02 s0details
#40.02 s0details
#50.02 s0details
#60.02 s0details
#70.02 s0details
#80.03 s0details
#90.02 s0details
#100.04 s0details

Code


n, m, k = map(int, input().split())

kords=[]

for l in range(k):
    y, x = map(int, input().split())
    kords.append((y, x))


lists = [["." for s in range(m)] for g in range(n)]


for point in kords:
        (lists[point[0]-1])[point[1]-1]="*"


##for point in kords:
  #  print(point[0], point[1])
kords.sort()

import math


# Laske keskipiste
cx = sum(x for x, y in kords) / len(kords)
cy = sum(y for x, y in kords) / len(kords)

# Järjestä pisteet ottaen huomioon käännetty ruudukko:
kords2 = sorted(kords, key=lambda p: math.atan2(-(p[1]-cy), -(p[0]-cx)))

kords3=kords2
kords3.append(kords2[0])


             
for i in range(0, k):
    if (kords3[i])[0]==(kords3[i+1][0]):
        for d in range((kords3[i])[1], (kords3[i+1])[1]-1):
             (lists[(kords[i])[0]-1])[d]="="
          #kerkki===
    
    elif (kords3[i])[1]==(kords3[i+1][1]):
         for d in range(min((kords3[i])[0], (kords3[i+1])[0]), max((kords3[i])[0], (kords3[i+1])[0])-1):
              (lists[d])[(kords3[i])[1]-1]="|"
          #merkki |||||||
        

    else:
        t=0
        if (kords3[i])[0]>(kords3[i+1][0]):
             for d in range(min((kords3[i])[0], (kords3[i+1])[0]), max((kords3[i])[0], (kords3[i+1])[0])-1):
                  (lists[d])[min((kords3[i])[1], (kords3[i+1])[1])+t]="\\"
                  t+=1
         #merkki \\\
        
        else:
            for d in range(min((kords3[i])[0], (kords3[i+1])[0]), max((kords3[i])[0], (kords3[i+1])[0])-1):
                (lists[d])[min((kords3[i])[1], (kords3[i+1])[1])-t+1]="/"
                t+=1
         #merkki ///

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
......... 
....*.... 
.../.\... 
../...\.. 
.*.....*. 
...

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

Test 2 (public)

Verdict:

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

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

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

Feedback: Incorrect character on row 5, col 11: expected '=', got '.'

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 3, col 23: 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 3, col 10: expected '=', got '.'

Test 5 (public)

Verdict:

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

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

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

Feedback: Incorrect character on row 4, col 18: 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 2, col 4: 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 6, col 11: expected '=', got '.'

Test 8 (public)

Verdict:

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

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

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

Feedback: Incorrect character on row 3, col 28: 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 1, col 2: 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 1, col 5: expected '=', got '.'