아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

블록 자르기

면접 대비

시간 제한2초메모리 제한64 MB

요약
직사각형 블록을 x축 방향으로 균등하게 n개로 자른 뒤 각 조각의 좌표를 소수점 8자리까지 출력하는 문제입니다.
난이도

쉬움10점 중 2점

유형
수학, 시뮬레이션, 구현
정답자
아직 제출이 없습니다

문제

목수 빌에게 직육면체 모양의 거대한 나무 블록이 있습니다. 이 블록은 너무 커서 빌의 집 문을 통과하지 못합니다. 그래서 빌은 블록을 nn개의 작은 블록으로 자르기로 했습니다. 조각을 깔끔하게 만들기 위해, 모든 작은 블록은 직육면체여야 하고 nn개의 조각은 모두 똑같아야 합니다.

블록의 모서리가 좌표축과 평행하고 한 꼭짓점이 원점 (0,0,0)(0, 0, 0)에 오도록 좌표계를 설정합니다. 그러면 반대편 꼭짓점의 좌표는 (x,y,z)(x, y, z)가 됩니다.

xx축에 수직인 등간격의 절단면 n−1n - 1개로 블록을 nn개의 똑같은 조각으로 자릅니다. 그러면 각각 크기가 xn×y×z\frac{x}{n} \times y \times z인 똑같은 판 nn개가 생깁니다. xx좌표가 커지는 순서대로 판을 출력하세요.

입력

한 줄에 네 정수 xx, yy, zz, nn이 주어집니다 (1≤x,y,z,n≤10001 \le x, y, z, n \le 1000). 각각 원점의 반대편 꼭짓점 좌표와 잘라야 할 조각의 개수입니다.

출력

xx좌표가 커지는 순서대로 각 판을 한 줄에 하나씩, 모두 nn줄을 출력합니다. ii번째 줄(i=0,1,…,n−1i = 0, 1, \dots, n - 1)은 서로 마주 보는 두 꼭짓점 (x1,y1,z1)(x_1, y_1, z_1)과 (x2,y2,z2)(x_2, y_2, z_2)로 판을 나타내며, 값은 다음과 같습니다.

x1=i⋅xn,y1=0,z1=0,x2=(i+1)⋅xn,y2=y,z2=z.x_1 = \frac{i \cdot x}{n}, \quad y_1 = 0, \quad z_1 = 0, \quad x_2 = \frac{(i + 1) \cdot x}{n}, \quad y_2 = y, \quad z_2 = z.

각 줄에서 여섯 좌표를 공백 하나로 구분하여 출력하고, 각 값은 소수점 아래 정확히 여덟 자리까지 반올림하여 출력합니다.

힌트

예제2

  1. 예제 1

    입력
    3 2 2 4
    
    예상 출력
    0.00000000 0.00000000 0.00000000 0.75000000 2.00000000 2.00000000
    0.75000000 0.00000000 0.00000000 1.50000000 2.00000000 2.00000000
    1.50000000 0.00000000 0.00000000 2.25000000 2.00000000 2.00000000
    2.25000000 0.00000000 0.00000000 3.00000000 2.00000000 2.00000000
    
  2. 예제 2

    입력
    3 2 2 6
    
    예상 출력
    0.00000000 0.00000000 0.00000000 0.50000000 2.00000000 2.00000000
    0.50000000 0.00000000 0.00000000 1.00000000 2.00000000 2.00000000
    1.00000000 0.00000000 0.00000000 1.50000000 2.00000000 2.00000000
    1.50000000 0.00000000 0.00000000 2.00000000 2.00000000 2.00000000
    2.00000000 0.00000000 0.00000000 2.50000000 2.00000000 2.00000000
    2.50000000 0.00000000 0.00000000 3.00000000 2.00000000 2.00000000