Rubic là một khối lập phơng gồm (3 x 3 x 3) khối lập phơng con. Khởi đầu mỗi mặt Rubic đợc tô một màu. Các mặt khác nhau đợc tô các màu khác nhau.
Mỗi mặt Rubic gồm 3 x 3 mặt của một lớp 9 khối lập phơng con.
Hãy hình dung ta đang nhìn vào một mặt bất kỳ trong 6 mặt của Rubic. Một lớp gồm 3 x 3 khối lập phơng con có thể quay 90o nhiều lần, trục quay đi qua tâm và vuông góc với mặt đang xét. Kết quả sau quay là một khối lập phơng (3 x 3x 3) khác (màu của 4 mặt liền kề có sự thay đổi).
Có thể ký hiệu màu các mặt nh sau:
U: màu mặt trên; R: màu mặt phải; F: màu mặt trớc; B: màu mặt sau; L: màu mặt bên trái; D: màu mặt dới.
Một vòng quay liên tiếp Rubic có thể mô tả bằng xâu các chữ cái của {U,R,F,B,L,D}. Trong đó mỗi chữ cái thể hiện một phép quay cơ sở: quay 90o theo chiều kim đồng hồ của mặt tơng ứng. Hãy viết chơng trình cho phép ngời dùng giải nhiều lần 3 bài toán dới đây:
1) Cho xâu vòng quay liên tiếp, biến đổi xâu đó thành xâu sao cho không có một phép quay cơ sở nào xuất hiện quá 3 lần. Chơng trình cần phát hiện các xâu Input không chuẩn.
2) Cho hai xâu Input khác nhau, kiểm tra xem liệu nếu áp dụng với trạng thái đầu có cho cùng một kết quả hay không?
3) Cho một xâu vào, hãy xác định số lần cần áp dụng xâu vào đó cho trạng thái đầu Rubic để lại nhận đợc trạng thái đầu đó.
470. Tô màu lới ô vuông
Cho lới ô vuông A hình chữ nhật m hàng, n cột (trong đó 10<=m, n<=100). Mỗi ô vuông đợc đánh số bởi một trong 6 màu: Xanh, đỏ, Tím, Vàng, đen, Trắng. Biết rằng mỗi màu đợc dùng ít nhất hai lần.
1) Nhập dữ liệu của A từ bàn phím.
2) Xác định trong mỗi màu, có bao nhiêu lần màu đó xuất hiện trong A? Chiếu kết quả lên màn hình.
3) Sắp xếp lại mảng A sao cho với mỗi ô vuông bất kỳ đều tìm thấy một ô vuông khác hoặc cùng hàng hoặc cùng cột đợc đánh dấu cùng một màu với nó.