Submission details
Task:Monikulmio
Sender:mirovuoristo
Submission time:2025-10-29 16:59:55 +0200
Language:Python3 (CPython3)
Status:READY
Result:0
Feedback
groupverdictscore
#10
Test results
testverdicttimescore
#10.02 s0details
#20.02 s0details
#30.02 s0details
#40.02 s0details
#50.02 s0details
#60.02 s0details
#70.02 s0details
#80.02 s0details
#90.02 s0details
#100.04 s0details

Code



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


listOfLists = []


for i in range(n):
    lista = []
    for i in range(m):
        lista.append('.')
    listOfLists.append(lista)

posList = []
for i in range(k):
    posList.append(tuple(map(int, (input().strip().split(" ")))))
i = 0
posList.append(posList[0])
print(posList)
#while i < k:
#    curList = listOfLists[int(posList[i][0])-1]
#    curList[int(posList[i][1])-1] = '*'
#    listOfLists[int(posList[i][0])-1] = curList
#    i += 1

horizList = []
vertiList = []
diagListF = []
diagListB = []
while i < k:
    curPos = posList[i][:]
    while curPos != posList[i+1]: # ÄLÄ KOSKE
        if curPos[0] == posList[i+1][0]:
            if curPos[1] < posList[i+1][1]:
                curPos = int(curPos[0]), int(curPos[1])+1
                horizList.append(curPos)
            else:
                curPos = int(curPos[0]), int(curPos[1])-1
                horizList.append(curPos)
        elif curPos[1] == posList[i+1][1]:
            if curPos[0] < posList[i+1][0]:
                curPos = int(curPos[0])+1, int(curPos[1])
                vertiList.append(curPos)
            else:
                curPos = int(curPos[0])-1, int(curPos[1])
                vertiList.append(curPos)
        else:
            if curPos[0] < posList[i+1][0] and curPos[1] < posList[i+1][1]: #below and left of target
                curPos = curPos[0]+1, curPos[1]+1
                diagListB.append(curPos)
            elif curPos[0] > posList[i+1][0] and curPos[1] < posList[i+1][1]:#above and left of target
                curPos = curPos[0]-1, curPos[1]+1
                diagListF.append(curPos)
            elif curPos[0] < posList[i+1][0] and curPos[1] > posList[i+1][1]:#below and right of target
                curPos = curPos[0]+1, curPos[1]-1
                diagListB.append(curPos)
            elif curPos[0] > posList[i+1][0] and curPos[1] > posList[i+1][1]:#above and right if target
                curPos = curPos[0]-1, curPos[1]-1
                diagListB.append(curPos)
        
        print(curPos)

    curList = listOfLists[int(posList[i][0])-1]
    curList[int(posList[i][1])-1] = '*'
    listOfLists[int(posList[i][0])-1] = curList
    i += 1


print(horizList)
print(vertiList)
z = 0
while z < len(horizList):
    curList = listOfLists[int(horizList[z][0])-1]
    curList[int(horizList[z][1])-1] = '='
    listOfLists[int(horizList[z][0])-1] = curList
    z += 1
z = 0
while z < len(vertiList):
    curList = listOfLists[int(vertiList[z][0])-1]
    curList[int(vertiList[z][1])-1] = '|'
    listOfLists[int(vertiList[z][0])-1] = curList
    z += 1
z = 0
while z < len(diagListB):
    curList = listOfLists[int(diagListB[z][0])-1]
    curList[int(diagListB[z][1])-1] = "\\"
    listOfLists[int(diagListB[z][0])-1] = curList
    z += 1
z = 0
while z < len(diagListF):
    curList = listOfLists[int(diagListF[z][0])-1]
    curList[int(diagListF[z][1])-1] = '/'
    listOfLists[int(diagListF[z][0])-1] = curList
    z += 1
e = 0
while e < k:
    curList = listOfLists[int(posList[e][0])-1]
    curList[int(posList[e][1])-1] = '*'
    listOfLists[int(posList[e][0])-1] = curList
    e += 1

for lists in listOfLists: # käytetään formatointiin 
    print(''.join(lists))

Test details

Test 1 (public)

Verdict:

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

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

user output
[(5, 2), (2, 5), (5, 8), (7, 8...

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

Test 2 (public)

Verdict:

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

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

user output
[(5, 10), (5, 30), (15, 30), (...

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

Test 3 (public)

Verdict:

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

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

user output
[(8, 7), (13, 2), (14, 2), (9,...

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

Test 4 (public)

Verdict:

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

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

user output
[(5, 12), (5, 25), (8, 28), (1...

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

Test 5 (public)

Verdict:

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

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

user output
[(3, 20), (7, 16), (7, 9), (11...

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

Test 6 (public)

Verdict:

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

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

user output
[(2, 3), (2, 8), (4, 8), (4, 5...

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

Test 7 (public)

Verdict:

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

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

user output
[(6, 10), (6, 14), (7, 14), (7...

Feedback: Incorrect length on line 1: expected 100, got 4

Test 8 (public)

Verdict:

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

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

user output
[(11, 3), (11, 5), (10, 6), (1...

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

Test 9 (public)

Verdict:

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

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

user output
[(1, 1), (1, 7), (1, 11), (1, ...

Feedback: Incorrect length on line 1: expected 100, got 4

Test 10 (public)

Verdict:

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

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

user output
[(10, 1), (4, 7), (1, 4), (1, ...

Feedback: Incorrect length on line 1: expected 100, got 5