행정상 개요
두 벡터와 각각의 "가중"을 나타내는 입력이 주어지면 해당 벡터의 가중 합도 나타내는 출력을 생성합니다.
도전
입력은 다음 문자 중 하나 이상의 행으로 구성됩니다.
- 2 차원 평면에서 원점을 나타내는 숫자 0이 정확히 한 번 발생합니다.
- 정확히 두 개의 다른 숫자 (1-9; 같은 숫자 일 수도 있고 같지 않을 수도 있음), 원점에 대한 위치가 벡터를 나타내고 값이이 벡터에 부착 된 가중치를 나타냄;
- 일부 "배경 문자". 솔버는 특정 배경 문자를 선택할 수 있습니다. 예를 들어 "."를 선택하겠습니다. (주로 인간의 가독성을 위해). 또는 배경 문자는 공백처럼 보일 수 있습니다.
(솔버는 입력이 단일 다중 행 문자열인지 또는 단일 행 문자열 배열인지 선택할 수 있습니다.)
예를 들어, 입력
....2
.0...
...3.
는 가중치가 2 인 좌표 (3,1)의 벡터와 가중치가 3 인 좌표 (2, -1)의 벡터를 나타냅니다.
출력은 다음과 같이 변경되어 입력과 거의 동일해야합니다.
- 솔버에 의해 선택된 "결과 문자", 입력 벡터의 가중 합에 의해 지정된 위치 (즉, 입력 벡터의 적절한 선형 조합 인 위치에 추가됨);
- 동일한 그림에서 원점, 두 개의 입력 벡터 및 출력 벡터를 맞추는 데 필요한 배경 문자 수 원하는 경우 추가 배경 문자를 포함 할 수 있습니다. 유일한 제약은 배경 문자가 보이는 문자이면 전체 출력은 직사각형이어야하고 벡터를 나타내지 않는 모든 문자는 배경 문자 여야한다는 것입니다. 공백이 배경 문자로 사용되는 경우 이러한 제약 조건을 적용하지 않아도됩니다.
(일반적으로 가중치 a를 가진 하나의 벡터 (v, w)와 가중치 b를 가진 두 번째 벡터 (x, y)가 있으면 가중치 합은 a (v, w) + b (x, y) = (av + bx, aw + by).)
이전 예에서 적절한 선형 조합은 2 * (3,1) + 3 * (2, -1) = (12, -1)입니다. 결과 문자로 "X"를 사용하면 출력은 다음과 같습니다.
....2.........
.0............
...3.........X
또는
................
...2............
0...............
..3.........X...
................
................
일반적인 코드 골프 스코어링 : 가장 짧은 대답 (바이트)이 이깁니다.
입력 및 출력 예
공백이 사용되면 위의 입력은 다음과 같습니다.
2
0
3
출력은 다음과 같습니다
2
0
3 X
선행 / 후행 공백 문자 / 줄은 관련이 없습니다. 독자에게 보이지 않으면 괜찮습니다. (즉, 나머지 예제에서는 배경 문자에 "."를 사용하여 쉽게 읽을 수 있도록 다시 돌아갑니다.)
두 벡터의 가중치가 1이면 결과는 평행 사변형처럼 나타납니다. 입력
.1.
...
1.0
출력으로 연결
X.1.
....
.1.0
입력 벡터가 동일 선상에있는 경우이 평행 사변형이 퇴화 될 수 있습니다.
0.1..1
출력으로 연결
0.1..1.X
결과 벡터가 입력 벡터 중 하나 또는 원점과 같을 수 있습니다. 이 경우 단순히 입력 문자를 덮어 씁니다. 예를 들어, 입력
..2.0.1...
출력을 산출
..X.0.1...
(입력 및 / 또는 출력에서 선행 및 후행 기간을 삭제할 수 있음). 입력
.....3
......
...0..
......
......
2.....
출력을 산출
.....3
......
...X..
......
......
2.....
마지막으로 입력
90
.8
출력을 산출
........90
.........8
..........
..........
..........
..........
..........
..........
X.........