Submission details
Task:Monikulmio
Sender:raikasdev
Submission time:2025-11-08 19:14:39 +0200
Language:Python3 (PyPy3)
Status:READY
Result:35
Feedback
groupverdictscore
#135
Test results
testverdicttimescore
#1ACCEPTED0.04 s7details
#2ACCEPTED0.04 s7details
#30.04 s0details
#40.04 s0details
#50.04 s0details
#6ACCEPTED0.04 s7details
#70.04 s0details
#8ACCEPTED0.04 s7details
#9ACCEPTED0.04 s7details
#100.07 s0details

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

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

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 4, col 27: 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: 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:

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

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

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

Feedback: Incorrect character on row 10, col 8: 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:

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

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

user output
...*====*........................

Feedback: Incorrect character on row 2, col 5: expected '\', got '/'