barycentric 좌표를 사용하여 레이블이 지정된 노드가있는 표준 정삼각형을 고려하십시오 .
우리는 (하나의 원래 3 노드 삼각형 측에 존재보다 더), 내부 에지 (단, 삭제 (3 개)의 정점의 새로운 라인을 추가하여 6 노드를 삼각형으로이 3 노드 삼각형을 켤 수 없는 내부 노드) 및 재 좌표를 정규화하십시오.
10 노드 삼각형 6 노드 삼각형에서 이동하는 과정을 반복하여, 4 개 정점 (다시, 하나는 원래 6 노드 삼각형 측에 존재보다 더), 내부 에지 (단, 삭제 라인을 추가 하지 내부 노드 ) 좌표를 다시 정규화하십시오.
이 과정은 무한정 반복 될 수 있습니다. 이 과제의 목표는이 N
프로세스가 몇 번 수행되었는지 나타내는 정수를 제공하며 , 관련 삼각형에 대한 모든 노드를 무게 중심 좌표로 출력합니다.
입력
프로그램 / 함수는 N
이 프로세스가 몇 번 적용되었는지 나타내는 음이 아닌 단일 정수를 입력 으로 가져와야합니다. 의 경우 N=0
3 개의 노드가있는 원래 삼각형을 출력해야합니다.
입력은 모든 소스 (기능 매개 변수, stdio 등)에서 올 수 있습니다.
산출
프로그램 / 기능은 모든 노드를 정규화 된 무게 중심 좌표로 출력해야합니다. 노드의 순서는 중요하지 않습니다. 숫자는 분수 (분수 감소가 필요하지 않음) 또는 부동 소수점 숫자로 지정할 수 있습니다. "스케일 된"벡터를 출력하여 노드를 지정할 수도 있습니다. 예를 들어, 다음 출력 중 3 개가 모두 동일하며 허용됩니다.
0.5,0.5,0
1/2,2/4,0
[1,1,0]/2
부동 소수점 출력을 사용하는 경우 출력은 1 % 이내로 정확해야합니다. 출력은 원하는 싱크 (stdio, return value, return parameter 등) 일 수 있습니다. 무게 중심 좌표는 노드 당 2 개의 숫자만으로 고유하게 결정되지만 노드 당 3 개의 숫자를 모두 출력해야합니다.
예
사례의 형식은 다음과 같습니다.
N
x0,y0,z0
x1,y1,z1
x2,y2,z2
...
여기서 첫 번째 라인은 input N
이고, 다음 라인은 모두 x,y,z
정확히 한 번 출력에 있어야 하는 노드 를 형성합니다 . 모든 숫자는 대략적인 부동 소수점 숫자로 제공됩니다.
0
1,0,0
0,1,0
0,0,1
1
1,0,0
0,1,0
0,0,1
0.5,0,0.5
0.5,0.5,0
0,0.5,0.5
2
1,0,0
0,1,0
0,0,1
0.667,0,0.333
0.667,0.333,0
0.333,0,0.667
0.333,0.333,0.333
0.333,0.667,0
0,0.333,0.667
0,0.667,0.333
3
1,0,0
0.75,0,0.25
0.75,0.25,0
0.5,0,0.5
0.5,0.25,0.25
0.5,0.5,0
0.25,0,0.75
0.25,0.25,0.5
0.25,0.5,0.25
0.25,0.75,0
0,0,1
0,0.25,0.75
0,0.5,0.5
0,0.75,0.25
0,1,0
채점
이것은 코드 골프입니다. 바이트 단위의 가장 짧은 코드가 이깁니다. 표준 허점이 적용됩니다. 원하는 내장 기능을 사용할 수 있습니다.
[1,2,3]/6
어떻습니까?