Piet는 여러 가지 이유로 흥미로운 프로그래밍 언어입니다. 오늘 우리는 한 가지 이유, 즉 롤 명령 에 중점을 둘 것 입니다. 롤 명령은 원래 PostScript에서 왔으며 스택을 조작하는 강력한 방법입니다.
롤 명령은 스택의 맨 위 두 요소를 팝업하여 매개 변수로 사용합니다. 첫 번째 값을 팝 turns
하고 두 번째 값을 호출합니다 depth
. 깊이 n으로 돌리면 스택의 최상위 요소를 가져 와서 스택의 n 번째 요소로 만들고 각 요소를 그 위의 하나 위로 이동합니다. 경우 turns
음이는 반대 방향으로 이루어집니다. 즉, n 번째 요소가 맨 위로 이동하고 다른 요소가 아래로 이동합니다. 이 abs(turns)
시간 이 반복 됩니다.
도전
스택을 받아 롤을 실행 한 후 해당 스택을 반환하는 프로그램이나 함수를 작성하십시오.
규칙
- 입력 및 출력은 목록, 배열, 구분 기호가있는 문자열, 한 번에 하나의 요소로 전달되거나 다른 적절한 형식 일 수 있습니다. 출력은 입력과 동일한 형식이어야합니다.
depth
절대 음수가 아니며 스택 길이보다 길지 않습니다.- 입력 스택에는 항상 두 가지 이상의 요소가 포함됩니다.
- 이것은 코드 골프 이므로 각 언어에서 가장 짧은 대답이 이깁니다. 따라서 답변을받지 않습니다.
- 표준 허점 은 금지되어 있습니다.
테스트 사례
in: out:
2
4
1 3
2 4
3 1
4 2
5 5
6 6
in: out:
-2
3
1 2
2 3
3 1
in: out:
-42
0
1 1
2 2
3 3
4 4
5 5