Submission details
Task:Monikulmio
Sender:raikasdev
Submission time:2025-11-08 19:16:53 +0200
Language:Python3 (PyPy3)
Status:READY
Result:70
Feedback
groupverdictscore
#1ACCEPTED70
Test results
testverdicttimescore
#1ACCEPTED0.04 s7details
#2ACCEPTED0.04 s7details
#3ACCEPTED0.04 s7details
#4ACCEPTED0.04 s7details
#5ACCEPTED0.04 s7details
#6ACCEPTED0.04 s7details
#7ACCEPTED0.04 s7details
#8ACCEPTED0.04 s7details
#9ACCEPTED0.04 s7details
#10ACCEPTED0.07 s7details

Code

# Monikulmio

# Input #0: n (korkeus), m (leveys), k (pisteiden määrä)
# Syöterivi #1->k: y, x

def main():
  # Init
  settings = input().split(" ")
  height = int(settings[0])
  width = int(settings[1])
  first_point = None
  last_point = None

  data = []
  for i in range(height):
    data.append(['.'] * width)
  
  # Func
  def draw_line_to_last(y, x):
    if last_point is None:
      return

    # Piirretään viiva siihen
    target_y = last_point[0]
    target_x = last_point[1]
    
    if target_y == y:
      # pystysuora viiva
      target = target_x - x

      for a in range(abs(target) - 1):
        data[y][x + ((a + 1) if target > 0 else (-a - 1))] = '='

    elif target_x == x:
      # vaakasuora viiva
      target = target_y - y
      for a in range(abs(target) - 1):
        data[y + ((a + 1) if target > 0 else (-a - 1))][x] = '|'
    else:
      # ja sit 45deg
      target_v = target_y - y
      target_h = target_x - x

      kk = (target_v)/(target_h)

      for a in range(abs(target_v) - 1):
        t_y = y + ((a + 1) if target_v > 0 else (-a - 1))
        t_x = x + ((a + 1) if target_h > 0 else (-a - 1))
        data[t_y][t_x] = '/' if kk < 0 else '\\'

  # Run
  for i in range(int(settings[2])):
    point = input().split(" ")
    y = int(point[0]) - 1 # Hyi saatana datatähti käyttää ykköstä :vomit: ei tää oo mikää vitu lua
    x = int(point[1]) - 1

    data[y][x] = '*'
    
    draw_line_to_last(y, x)

    if first_point is None:
      first_point = (y, x)
    
    last_point = (y, x)

  draw_line_to_last(first_point[0], first_point[1])

  for line in data:
    print("".join(line))

if __name__ == "__main__":
  main()

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

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

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

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

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

Test 3 (public)

Verdict: ACCEPTED

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

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

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

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

Test 4 (public)

Verdict: ACCEPTED

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

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

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

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

Test 5 (public)

Verdict: ACCEPTED

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

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

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

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

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

Test 7 (public)

Verdict: ACCEPTED

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

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

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

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

Test 8 (public)

Verdict: ACCEPTED

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

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

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

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

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 2, col 11: 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 2, col 6: expected '#', got '.'