Thử thách:
Đầu vào:
Bạn có hai đầu vào:
- Một chuỗi chỉ chứa ASCII có thể in (không bao gồm dấu cách, tab hoặc dòng mới)
- Một ký tự ASCII có thể in
Đầu ra:
Dòng đầu tiên sẽ chứa đầu vào chuỗi. Mỗi i
-modulo-3 lần xuất hiện đầu tiên của nhân vật này sẽ di chuyển theo hướng Đông Nam; mỗi i
lần xuất hiện -modulo-3 giây sẽ di chuyển theo hướng Nam; và mỗi i
lần xuất hiện thứ ba -modulo-3 sẽ di chuyển theo hướng Tây Nam. Bạn sẽ tiếp tục cho đến khi các ký tự sắp trở lại vị trí bắt đầu ban đầu của họ (điều đó có nghĩa là nó sẽ quấn quanh từ bên này sang bên kia nếu cần thiết), và sau đó bạn sẽ in lại dòng cuối cùng với đầu vào chuỗi một lần nữa để kết thúc nó (Lưu ý rằng tất cả các trường hợp thử nghiệm sẽ kết thúc ở đầu vào ban đầu của chúng sau hầu hết length(input)
các hàng, bao gồm cả hàng chứa đầu vào theo dõi. Mặc dù vậy, có thể sớm hơn, như đã thấy trong trường hợp thử nghiệm đầu tiên bên dưới, với độ dài 14, nhưng kết thúc sau 9.)
Tất cả điều này có thể khá mơ hồ, vì vậy đây là một ví dụ:
Trường hợp thử nghiệm 1:
Chuỗi đầu vào: "This_is_a_test"
Ký tự đầu vào:'s'
Đầu ra:
This_is_a_test
s s s
ss s
s s
sss
sss
s s
ss s
s s s
This_is_a_test
Đây là trường hợp thử nghiệm tương tự với các đường dẫn màu của ba s
:
nơi đầu tiên 's'
đi theo con đường xanh theo hướng Đông Nam; thứ hai 's'
theo con đường màu vàng theo hướng Nam; và thứ ba 's'
đi theo con đường màu xanh nhạt theo hướng Tây Nam. (Nếu có một phần tư, 's'
nó sẽ đi theo hướng Đông Nam một lần nữa, có thể thấy trong một số trường hợp thử nghiệm khác bên dưới.)
Quy tắc thử thách:
- Các đầu vào sẽ chỉ chứa ASCII có thể in được (không bao gồm dấu cách, tab và dòng mới)
- Các định dạng I / O rất linh hoạt. Có thể là một chuỗi phân cách dòng mới, ma trận ký tự, vv Cuộc gọi của bạn.
- Có thể là ký tự đã cho không có trong chuỗi, trong trường hợp đó, bạn được phép xuất chuỗi đầu vào một hoặc hai lần (nghĩa là
"test", 'a'
có thể có một trong hai đầu ra này là có thể:"test\ntest"
/"test"
). - Không gian hàng đầu là bắt buộc; dấu cách là tùy chọn. Một hoặc nhiều dòng mới hàng đầu / cuối được cho phép.
Quy tắc chung:
- Đây là môn đánh gôn , vì vậy câu trả lời ngắn nhất bằng byte thắng.
Đừng để ngôn ngữ mã-golf ngăn cản bạn đăng câu trả lời với các ngôn ngữ không mã hóa. Cố gắng đưa ra một câu trả lời càng ngắn càng tốt cho ngôn ngữ lập trình 'bất kỳ'. - Các quy tắc chuẩn áp dụng cho câu trả lời của bạn, vì vậy bạn được phép sử dụng STDIN / STDOUT, các hàm / phương thức với các tham số thích hợp và kiểu trả về, các chương trình đầy đủ. Cuộc gọi của bạn.
- Lỗ hổng mặc định bị cấm.
- Nếu có thể, vui lòng thêm một liên kết với một bài kiểm tra cho mã của bạn.
- Ngoài ra, xin vui lòng thêm một lời giải thích nếu cần thiết.
Các trường hợp thử nghiệm / ví dụ khác:
Trường hợp thử nghiệm 2:
Chuỗi đầu vào: "abcabcabcabcabc"
Ký tự đầu vào:'b'
Đầu ra:
abcabcabcabcabc
b b b b b
bbb bb
b b
bbb bb
b b b b b
b b b b
b b b b b
bb b bb
b b b
bb bbb
b b bbb
b b b b
b bb bb
b b bb b
abcabcabcabcabc
Đây là trường hợp thử nghiệm tương tự với các đường dẫn màu của năm a
:
Trường hợp thử nghiệm 3:
Chuỗi đầu vào: "only_two_paths?"
Ký tự đầu vào:'o'
Đầu ra:
only_two_paths?
o o
o o
o o
o o
o o
oo
o
oo
o o
o o
o o
o o
o o
o o
only_two_paths?
Đây là trường hợp thử nghiệm tương tự với các đường dẫn màu của hai o
:
Trường hợp thử nghiệm 4:
Nhập chuỗi: "lollollollollol"
Nhập ký tự:'l'
Đầu ra:
lollollollollol
lll ll ll
ll ll ll
l ll ll ll ll
lll l ll l ll
llllll ll ll
l l ll ll
ll lll ll
l l l lll ll l
ll l ll l l
l l l l llll l
ll lll lll
l l l ll
ll lll lllll
l l l ll l ll
lollollollollol
Đây là trường hợp thử nghiệm tương tự với các đường dẫn màu của mười l
:
Trường hợp thử nghiệm 5:
Nhập chuỗi: "AbCdEeDcBaAbCdEeDcBa_CCCCC"
Nhập ký tự:'C'
Đầu ra:
AbCdEeDcBaAbCdEeDcBa_CCCCC
C C C C C
C C C C CCC
C C C C C C C
C C C C C C C
C C C C C C C
C C C C C C C
C C C C C C C
C C C CC C C
C C CC C C
C C CC C C
C C CC C
CC CC C C
CC CC C C
C C CC C C
C C CC C C C
C C C C C C
C C CC C C C
C C C C C C C
C C C C C C C
C C C C C CC
C C C C C C
C C C C CCC
C C C CCCC
C C C C
C C CCCCC
AbCdEeDcBaAbCdEeDcBa_CCCCC
Đây là trường hợp thử nghiệm tương tự với các đường dẫn màu của bảy C
:
Trường hợp thử nghiệm 6:
Nhập chuỗi: "XyX"
Nhập ký tự:'X'
Đầu ra:
XyX
XX
X
XyX
Đây là trường hợp thử nghiệm tương tự với các đường dẫn màu của hai X
:
Trường hợp thử nghiệm 7:
Nhập chuỗi: "aaaa"
Nhập ký tự:'a'
Đầu ra:
aaaa
aa
aaa
aaa
aaaa
Đây là trường hợp thử nghiệm tương tự với các đường dẫn màu của bốn a
:
length(input)
mọi thứ khớp lại, nhưng nó có thể sớm hơn khi trường hợp thử nghiệm đầu tiên chứng minh. Nhưng có vẻ như bạn thực sự đúng về bội số của 3 phần (mặc dù tôi không chắc chắn 100%).