Submission details
Task:Monikulmio
Sender:mirovuoristo
Submission time:2025-10-29 18:34:46 +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])

#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
                diagListF.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)
        
        

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




symlist= ['\\', '/', '*', '|', '']
biglist = []
i = 0
for lists in listOfLists:
    symCount= sum(1 for sym in lists if sym in symlist)
    if symCount % 2 != 0:
        biglist.append(lists.copy())
        continue
    nLists = lists.copy()
    i = 0
    n = len(nLists)

    while i < n:
        if nLists[i] in symlist:
            sSym = nLists[i]
            i +=1

            while i < n and nLists[i] not in symlist:
                nLists[i] = '#'
                i += 1
            if i < n and nLists[i] in symlist:
                i +=1
        else:
            i +=1

    biglist.append(nLists)
            
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 biglist: # 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
.........
....*....
.........
.........
.*#####*.
...

Feedback: Incorrect character on row 3, col 4: 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 4, col 29: 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 19: 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 '#'