직사각형의 |
문자 격자가 직조기 ( 뒤틀림 ) 의 팽팽한 끈을 나타내고 있다고 상상해보십시오. 다른 실 ( 위사 ) -
이 짜여 질 수 있습니다.
다음은 7 × 4 베틀의 부직포 워프입니다.
|||||||
|||||||
|||||||
|||||||
씨실이 날실로 직조 될 수있는 방법은 여러 가지가 있는데, 가장 간단한 것은 평직 이다.
평직의 첫 번째 줄에서 위 사는 첫 번째 날실 위에서 시작하여 두 번째 줄 아래로, 그 다음 세 번째 줄 아래로, 그런 다음 네 번째 줄 아래로 간다.
두 번째 위사 행은 첫 번째 행과 동일하지만 하나의 날실 문자열에 의해 오른쪽으로 오프셋되므로 아래에서 시작하여 계속됩니다.
7 × 4 베틀에서 평직은 다음과 같습니다.
-|-|-|-
|-|-|-|
-|-|-|-
|-|-|-|
우리는 위사가 날실을 1 회, 1 회 미만으로 하고 각 후속 행이 1 열 오른쪽 으로 이동 한다고 말함으로써 평직을 설명 할 수 있습니다 .
일반화 된 직조는 위사가 뒤틀림을 v 회 초과 한 다음 u 회 이하 로 이동하여 각각의 후속 행이 s 스트링에 의해 오른쪽 으로 이동함으로써 설명 될 수있다 . (모든 값은 정수이며 s 는 0 또는 음수 일 수 있으며 u 와 v 는 음수가 아니어야합니다.)
v = 1 , u = 2 , s = 2 인 능직 직물 의 7x4 직기 :
-||-||-
||-||-|
|-||-||
-||-||-
도전
당신의 임무는 v , u , s , 직기의 너비와 높이 및 초기 시프트가 주어진 막대와 대시의 짠 패턴을 생성하는 가장 짧은 프로그램 (바이트)을 작성하는 것 입니다.
초기 시프트 위사의 첫 번째 행이 (상기 예에서 0) 우측으로 시프트 스트링 수있다. 이후의 각 행은 어긋나게 의 이상의 문자열.
프로그램은 사용하기 쉬운 형식 (stdin, 함수 호출 등) 으로이 6 개의 숫자를 가져 와서 바 및 사각형의 짠 그리드를 표준 출력으로 출력해야합니다. 모든 입력이 유효하다고 가정 할 수 있습니다. (모든 값은 정수이고 너비와 높이는 양수 여야합니다 . 초기 이동 은 무엇이든 가능합니다.)
예
너비 = 5, 높이 = 4, 초기 이동 = 0, v = 1, u = 3, s = -2 :
-|||-
||-||
-|||-
||-||
너비 = 5, 높이 = 4, 초기 이동 = 3, v = 1, u = 3, s = -2 :
|||-|
|-|||
|||-|
|-|||
너비 = 5, 높이 = 4, 초기 이동 = 1, v = 1, u = 1, s = 0 :
|-|-|
|-|-|
|-|-|
|-|-|
너비 = 5, 높이 = 4, 초기 이동 = 0, v = 1, u = 0, s = 0 :
-----
-----
-----
-----
노트
- 패턴은 항상 그리드의 왼쪽 상단 모서리에있는 날실 위사가 시작됩니다 (처음 이동하지 않은 경우).
- 모든 씨실은 왼쪽에서 들어옵니다. 그들은 이렇게 나선 하지 않습니다 .
- u + v 는 그리드 폭의 배수 일 필요는 없습니다.
- u 와 v 는 모두 0이 아닐 수 있습니다