Hai đứa tôi thích chơi với đồ chơi sau:
Các khu vực màu với hình dạng bên trong có thể được chạm vào và rùa sau đó chiếu sáng khu vực và phát âm thanh hoặc nói tên của màu sắc hoặc hình dạng bên trong. Nút giữa thay đổi chế độ. Có một chế độ trong đó các khu vực phát các nốt nhạc khác nhau khi chạm vào, với một nút xoắn: nếu đứa trẻ chạm vào ba khu vực liên tiếp theo chiều kim đồng hồ, một giai điệu 1 đặc biệt sẽ được phát. Nếu ba khu vực liên tiếp chạm được đặt ngược chiều kim đồng hồ, giai điệu 2 đặc biệt sẽ được phát.
Các thách thức
Hãy mô phỏng logic bên trong của đồ chơi. Cho một chuỗi có 3 lần nhấn của đứa trẻ, trả về hai giá trị riêng biệt, mạch lạc nếu ba lần nhấn dành cho các khu vực liên tiếp (theo chiều kim đồng hồ hoặc ngược chiều kim đồng hồ) và giá trị khác biệt thứ ba nếu không.
Chi tiết
- Các khu vực đầu vào sẽ được đặt tên với mỗi ký tự, có thể là màu của chúng:
ROYGB
cho màu đỏ, cam, vàng, xanh lá cây và xanh dương; hoặc hình dạng của chúng:HSRTC
cho hình trái tim, hình vuông, ngôi sao (R
), hình tam giác và hình tròn. Trường hợp không quan trọng, bạn có thể chọn làm việc với đầu vào và đầu ra chỉ bằng chữ hoa hoặc chữ thường. - Chương trình sẽ nhận được một chuỗi (hoặc mảng char hoặc bất cứ thứ gì tương đương) với ba lần nhấn. Ví dụ (sử dụng các màu sắc):
RBO
,GYO
,BBR
,YRG
,YGB
,ORB
... - Chương trình sẽ đưa ra ba giá trị riêng biệt, mạch lạc để thể hiện ba kết quả có thể xảy ra: giá trị thứ nhất nếu sự kết hợp không kích hoạt giai điệu đặc biệt, giá trị thứ hai nếu sự kết hợp kích hoạt giai điệu đặc biệt theo chiều kim đồng hồ và giá trị thứ ba nếu sự kết hợp kích hoạt giai điệu ngược chiều ngược chiều. Ví dụ:
0
không có sự kết hợp đặc biệt nào,1
đối với giai điệu được kích hoạt bởi sự kết hợp theo chiều kim đồng hồ và-1
đối với giai điệu được kích hoạt bởi sự kết hợp ngược chiều kim đồng hồ. - Bạn không cần phải lo lắng về việc xử lý đầu vào sai.
Các trường hợp thử nghiệm
Input Output // Input based on colors
--------------
RBO 0 // No special combination
GYO -1 // Counterclockwise melody triggered
BBR 0 // No special combination
YRG 0 // No special combination
YGB 1 // Clockwise melody triggered
ORB -1 // Counterclockwise melody triggered
OOO 0 // No special combination
BRO 1 // Clockwise melody triggered
Đây là môn đánh gôn , vì vậy có thể mã ngắn nhất cho mỗi ngôn ngữ sẽ giành chiến thắng!
[0,0]
,[1,0]
,[0,1]
cho phép như đầu ra? Tôi thấy câu trả lời Mathicala đang làm điều đó và nó sẽ tiết kiệm được 3 byte trong câu trả lời 05AB1E.