내가 무언가를 쓰고 있다고 말하면서 실수로 잘못된 상자에 썼습니다 :
+-------+--------+
| Verbs | Nouns |
+-------+--------+
| Truck | |
| eat | Banana |
| | Car |
+-------+--------+
그래서 나는 게으르고, 단지 있어야 할 공간에 화살표를 그립니다.
+-------+--------+
| Verbs | Nouns |
+-------+--------+
|[Truck]---> |
| eat | Banana |
| | Car |
+-------+--------+
당신의 임무는 예쁘게 보이게하는 것입니다-이것을 다음과 같이 바꾸십시오 :
+-------+--------+
| Verbs | Nouns |
+-------+--------+
| | Truck |
| eat | Banana |
| | Car |
+-------+--------+
규칙
- 문구 나 단어는 괄호 ([...])로 묶습니다.
여러 줄 항목은 [...](여러 줄 제거), 줄 바꿈, [...] --...-->로 표시됩니다. 따라서 화살표는 항상 오른쪽하단브래킷 에서 나옵니다.
예를 들면 다음과 같습니다.
+-----------+----------+
| Verbs | Nouns |
+-----------+----------+
| | |
|[is a noun]-> |
| eat | Banana |
| | Car |
+-----------+----------+
로 바뀝니다 :
+-----------+----------+
| Verbs | Nouns |
+-----------+----------+
| | |
| | is a noun|
| eat | Banana |
| | Car |
+-----------+----------+
- 상자는 더하기 ( "+")로 묶여 있으며 화살표가 더하기 위로 넘어 가지 않는다고 가정해야합니다.
- 단어 나 구에 맞게 화살표 끝에 항상 여유가 있습니다.
- 순서 문제-수직 정렬은 중요하지 않지만 화살표가 가리키는 곳에 단어가 표시되어야합니다.
- 화살표는 한 번에 90 도씩 회전 할 수 있지만 "/"와 "\"사이에서만 가능합니다 (아래 참조).
예를 들면 다음과 같습니다.
+-----------+----------+
| Verbs | Nouns |
+-----------+----------+
| [Truck]--\| |
/------------/| <--\
| | eat | Banana ||
| | /--\ | Car ||
| +--|--|-----+----------+|
\----/ \-----------------/
경쟁
모든 입력 가능 (텍스트 파일, STDIN 등)
읽을 수있는 출력 (텍스트 파일, STDOUT 등)
다음은 몇 가지 예입니다.
이것은 코드 골프이므로 가장 짧은 코드가 승리합니다!
일부 테스트 사례 :
+--------+----------+-------------+
| Colors | Foods | Countries |
+--------+----------+-------------+
| red | pizza | Switzerland |
/--> /----> | |
| |[kale]/ | hot dogs | Brazil |
| | <----------------------\ |
| | orange |[yellow]\ | [green]/ |
| +--------+--------|-+-------------+
\-------------------/
/------------------------------------------\
| |
| +------------------+----------+-------+ |
| | frog | | | |
| | forge | dog | eagle | |
| | foundation | diligent | ease | |
| |[Brother]--\ | down | elf | |
| | | |[egg]--\ |[fort]---/
\----> | | | | |
| \-\ | \-----> |
+-------------|----+----------+ |
| Boy \--> | |
| Bull | |
| Browser | |
+-----------------------------+-------+
/--------------------------------------\
| /---------------\|
/------------|---------------------/ ||
| | /---------------\ ||
| +---------|-+-----------+-|------+--------|+ ||
\----> | | clarinet | \> | [drums]/| ||
| [viola]\\---> | +---------+ ||
| \-----> | | |/---/|
+-----------+ [violin]\ | | [cello]--/ |
| <------------/ | +---------+ |
| +-----------+ <----------\| |
| | | | [tuba]/| |
| | [piano]\ | | | |
| <-----------/ | | | |
| +-----------+--------+ | |
| | |[trumpet]------/
| [flute]-----> | |
| | saxaphone | |
+-----------+--------------------+---------+
5
이것은 좋은 도전입니다, 그것은 단지 피 묻은 것 같습니다!
—
Beta Decay
상자 식별을 작성하는 동안 경계를 가로 질러 충분한 화살표가있는 경우 상자가 몇 개 있는지 모호 할 수 있습니다 (예 :이 레이아웃에 몇 개의 상자가 있습니까? pastebin.com/xyBjTAwK ? 이것이 일어나지 않을 것이라는 보장이나 상황에 대한 예상되는 행동에 대한 설명이 있습니까?
—
VisualMelon
@VisualMelon 발생하지 않을 것이라고 가정 할 수 있습니다. 다음 행 / 열에 2 개의 플러스가 있고 연결되지 않은 경우는 없습니다. 또한 괄호에 관해서는 그것은 내 부분의 결함이었습니다. 괄호 안의 모든 것이 움직이고 있다고 가정 할 수 있습니다.
—
Stretch Maniac
내가 묻는 것은 값 이동을 제외하고 원래 테이블처럼 보이는 테이블을 출력한다는 것입니다. 다시 말해서, 테이블처럼 보이는 한 (예 : 임의의 줄 바꿈 없음) 볼 수없는 것 (예 : 후행 공백 / 줄 바꿈)에 대해서는 신경 쓰지 않습니다.
—
Stretch Maniac
주문에서 항목의 상단이 화살표가 가리키는 위치에 놓이면 올바른 위치에 있어야합니다. 예를 들어 "Brother"는 "Boy"의 오른쪽으로 이동합니다. 화살표가 여러 행 항목 대상의 첫 번째 행을 가리키고 있다고 가정 할 수 있습니다. 항목을 한정하는 항목-대괄호로 묶인 항목 (> <| ^ 및 공백)은 항목의 일부로 간주됩니다. 화살표가없는 괄호가 위에 있으면 여러 줄 항목의 일부입니다.
—
스트레칭 미치 광