문제
아래와 같은 가로 세로 퍼즐을 풀어보자.
가로줄
- device used to cool a PC
- solid water
- to obtain
세로줄
- small, soft, sweet fruit
- strong playing card
- fisherman's tool
6개의 단어가 주어졌을 때, 이를 가지고 가로 세로 퍼즐을 만드는 프로그램을 작성하시오. 단어 3개는 가로줄, 3개는 세로줄로 배치해야한다.
출력
6개 단어를 3*3 가로 세로 퍼즐에 놓을 수 없다면 0을 출력한다. 그렇지 않다면, 3개 줄에 퍼즐을 출력한다. 만약 가능한 답이 여러개라면 사전순으로 앞서는 것을 출력한다. 사전순으로 비교를 할 때는, 모두 한 줄로 이어붙인 9개의 단어를 생각하면 된다.
W3sicHJvYmxlbV9pZCI6IjI3ODQiLCJwcm9ibGVtX2xhbmciOiIwIiwidGl0bGUiOiJcdWFjMDBcdWI4NWMgXHVjMTM4XHViODVjIFx1ZDM3Y1x1Yzk5MCIsImRlc2NyaXB0aW9uIjoiPHA+XHVjNTQ0XHViNzk4XHVjNjQwIFx1YWMxOVx1Yzc0MCBcdWFjMDBcdWI4NWMgXHVjMTM4XHViODVjIFx1ZDM3Y1x1Yzk5MFx1Yzc0NCBcdWQ0ODBcdWM1YjRcdWJjZjRcdWM3OTAuPFwvcD5cclxuXHJcbjxwIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxpbWcgYWx0PVwiXCIgc3JjPVwiaHR0cHM6XC9cL3VwbG9hZC5hY21pY3BjLm5ldFwvNDViZGY3NWItMDI4MC00YWU1LTk0YjMtZjkxZTc0MmRjMWUyXC8tXC9wcmV2aWV3XC9cIiBzdHlsZT1cIndpZHRoOiAxNDlweDsgaGVpZ2h0OiAxMjVweDtcIiBcLz48XC9wPlxyXG5cclxuPHA+XHVhYzAwXHViODVjXHVjOTA0PFwvcD5cclxuXHJcbjxvbD5cclxuXHQ8bGk+ZGV2aWNlIHVzZWQgdG8gY29vbCBhIFBDPFwvbGk+XHJcblx0PGxpPnNvbGlkIHdhdGVyPFwvbGk+XHJcblx0PGxpPnRvIG9idGFpbjxcL2xpPlxyXG48XC9vbD5cclxuXHJcbjxwPlx1YzEzOFx1Yjg1Y1x1YzkwNDxcL3A+XHJcblxyXG48b2w+XHJcblx0PGxpPnNtYWxsLCBzb2Z0LCBzd2VldCBmcnVpdDxcL2xpPlxyXG5cdDxsaT5zdHJvbmcgcGxheWluZyBjYXJkPFwvbGk+XHJcblx0PGxpPmZpc2hlcm1hbiYjMzk7cyB0b29sPFwvbGk+XHJcbjxcL29sPlxyXG5cclxuPHA+Nlx1YWMxY1x1Yzc1OCBcdWIyZThcdWM1YjRcdWFjMDAgXHVjOGZjXHVjNWI0XHVjODRjXHVjNzQ0IFx1YjU0YywgXHVjNzc0XHViOTdjIFx1YWMwMFx1YzljMFx1YWNlMCBcdWFjMDBcdWI4NWMgXHVjMTM4XHViODVjIFx1ZDM3Y1x1Yzk5MFx1Yzc0NCBcdWI5Y2NcdWI0ZGNcdWIyOTQgXHVkNTA0XHViODVjXHVhZGY4XHViN2E4XHVjNzQ0IFx1Yzc5MVx1YzEzMVx1ZDU1OFx1YzJkY1x1YzYyNC4gXHViMmU4XHVjNWI0IDNcdWFjMWNcdWIyOTQgXHVhYzAwXHViODVjXHVjOTA0LCAzXHVhYzFjXHViMjk0IFx1YzEzOFx1Yjg1Y1x1YzkwNFx1Yjg1YyBcdWJjMzBcdWNlNThcdWQ1NzRcdWM1N2NcdWQ1NWNcdWIyZTQuPFwvcD5cclxuIiwiaW5wdXQiOiI8cD42XHVhYzFjXHVjNzU4IFx1YzkwNFx1YzVkMCBcdWM1NGNcdWQzMGNcdWJjYjMgXHViMzAwXHViYjM4XHVjNzkwXHViODVjIFx1Yzc3NFx1YjhlOFx1YzViNFx1YzljNCBcdWIyZThcdWM1YjRcdWFjMDAgXHVjOGZjXHVjNWI0XHVjOWM0XHViMmU0LiBcdWM3NzQgXHViMmU4XHVjNWI0XHViMjk0IFx1YzBhY1x1YzgwNFx1YzIxY1x1YzczY1x1Yjg1YyBcdWM4MTVcdWI4MmNcdWI0MThcdWM1YjQgXHVjNzg4XHViMmU0LjxcL3A+XHJcbiIsIm91dHB1dCI6IjxwPjZcdWFjMWMgXHViMmU4XHVjNWI0XHViOTdjIDMqMyBcdWFjMDBcdWI4NWMgXHVjMTM4XHViODVjIFx1ZDM3Y1x1Yzk5MFx1YzVkMCBcdWIxOTNcdWM3NDQgXHVjMjE4IFx1YzVjNlx1YjJlNFx1YmE3NCAwXHVjNzQ0IFx1Y2Q5Y1x1YjgyNVx1ZDU1Y1x1YjJlNC4gXHVhZGY4XHViODA3XHVjOWMwIFx1YzU0YVx1YjJlNFx1YmE3NCwgM1x1YWMxYyBcdWM5MDRcdWM1ZDAgXHVkMzdjXHVjOTkwXHVjNzQ0IFx1Y2Q5Y1x1YjgyNVx1ZDU1Y1x1YjJlNC4gXHViOWNjXHVjNTdkIFx1YWMwMFx1YjJhNVx1ZDU1YyBcdWIyZjVcdWM3NzQgXHVjNWVjXHViN2VjXHVhYzFjXHViNzdjXHViYTc0IFx1YzBhY1x1YzgwNFx1YzIxY1x1YzczY1x1Yjg1YyBcdWM1NWVcdWMxMWNcdWIyOTQgXHVhYzgzXHVjNzQ0IFx1Y2Q5Y1x1YjgyNVx1ZDU1Y1x1YjJlNC4gXHVjMGFjXHVjODA0XHVjMjFjXHVjNzNjXHViODVjIFx1YmU0NFx1YWQ1MFx1Yjk3YyBcdWQ1NjAgXHViNTRjXHViMjk0LCBcdWJhYThcdWI0NTAgXHVkNTVjIFx1YzkwNFx1Yjg1YyBcdWM3NzRcdWM1YjRcdWJkOTlcdWM3NzggOVx1YWMxY1x1Yzc1OCBcdWIyZThcdWM1YjRcdWI5N2MgXHVjMGRkXHVhYzAxXHVkNTU4XHViYTc0IFx1YjQxY1x1YjJlNC48XC9wPlxyXG4iLCJoaW50IjoiIiwib3JpZ2luYWwiOiIwIiwiaHRtbF90aXRsZSI6IjAiLCJwcm9ibGVtX2xhbmdfdGNvZGUiOiJLb3JlYW4ifSx7InByb2JsZW1faWQiOiIyNzg0IiwicHJvYmxlbV9sYW5nIjoiMSIsInRpdGxlIjoiS1JJWkFMSktBIiwiZGVzY3JpcHRpb24iOiI8cD5EbyB5b3UgbGlrZSB0byBzb2x2ZSBjcm9zc3dvcmRzPyBJZiB5b3UgZG8sIHlvdSBwcm9iYWJseSBrbm93IHRoZSB0cmFkaXRpb25hbCBsZWFkLWluIGZvciBiZWdpbm5lcnMgJm5kYXNoOyBzbWFsbCAzIGJ5IDMgY3Jvc3N3b3JkcywgbGlrZSB0aGUgZm9sbG93aW5nOjxcL3A+XHJcblxyXG48cCBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48aW1nIGFsdD1cIlwiIHNyYz1cImh0dHBzOlwvXC91cGxvYWQuYWNtaWNwYy5uZXRcLzQ1YmRmNzViLTAyODAtNGFlNS05NGIzLWY5MWU3NDJkYzFlMlwvLVwvcHJldmlld1wvXCIgc3R5bGU9XCJ3aWR0aDogMTQ5cHg7IGhlaWdodDogMTI1cHg7XCIgXC8+PFwvcD5cclxuXHJcbjxwPkhvcml6b250YWw6PFwvcD5cclxuXHJcbjxvbD5cclxuXHQ8bGk+ZGV2aWNlIHVzZWQgdG8gY29vbCBhIFBDPFwvbGk+XHJcblx0PGxpPnNvbGlkIHdhdGVyPFwvbGk+XHJcblx0PGxpPnRvIG9idGFpbjxcL2xpPlxyXG48XC9vbD5cclxuXHJcbjxwPlZlcnRpY2FsOjxcL3A+XHJcblxyXG48b2w+XHJcblx0PGxpPnNtYWxsLCBzb2Z0LCBzd2VldCBmcnVpdDxcL2xpPlxyXG5cdDxsaT5zdHJvbmcgcGxheWluZyBjYXJkPFwvbGk+XHJcblx0PGxpPmZpc2hlcm1hbiYjMzk7cyB0b29sPFwvbGk+XHJcbjxcL29sPlxyXG5cclxuPHA+U29sdmUgYSBjcm9zc3dvcmQgbGlrZSB0aGlzIG9uZSEgTm90IGdvbm5hIGhhcHBlbj8gRmluZSwgdGhlbiBhdCBsZWFzdCBwdXQgaXQgdG9nZXRoZXIgZ2l2ZW4gc2l4IHdvcmRzIHRoYXQgYXBwZWFyIGluIGl0ICh0aHJlZSBhcyBob3Jpem9udGFsIGFuZCB0aHJlZSBhcyB2ZXJ0aWNhbCkuPFwvcD5cclxuIiwiaW5wdXQiOiI8cD5FYWNoIG9mIHRoZSBzaXggbGluZXMgb2YgaW5wdXQgY29udGFpbnMgYSB3b3JkIGNvbnNpc3Rpbmcgb2YgdGhyZWUgdXBwZXJjYXNlIEVuZ2xpc2ggbGV0dGVycy4gVGhlIHdvcmRzIGFyZSBnaXZlbiBpbiBhIGxleGljb2dyYXBoaWNhbGx5IHNvcnRlZCBvcmRlci48XC9wPlxyXG4iLCJvdXRwdXQiOiI8cD5JZiBpdCBpcyBpbXBvc3NpYmxlIHRvIHB1dCB0b2dldGhlciBhIDMgYnkgMyBjcm9zc3dvcmQgdXNpbmcgdGhlIGdpdmVuIHNpeCB3b3Jkcywgb3V0cHV0IDAuPFwvcD5cclxuXHJcbjxwPk90aGVyd2lzZSwgb3V0cHV0IHRoZSBjcm9zc3dvcmQgaW4gdGhyZWUgbGluZXMuPFwvcD5cclxuXHJcbjxwPklmIHRoZXJlIGlzIG1vcmUgdGhhbiBvbmUgcG9zc2libGUgc29sdXRpb24sIG91dHB1dCB0aGUgb25lIHRoYXQgaXMgZmlyc3QgaW4gbGV4aWNvZ3JhcGhpYyBvcmRlciwgd2hlcmUsIGZvciBzb3J0aW5nIHB1cnBvc2VzLCB0aGUgY3Jvc3N3b3JkIGlzIHZpZXdlZCBhcyBhIG5pbmUtbGV0dGVyIHdvcmQgb2J0YWluZWQgYnkgY29uY2F0ZW5hdGluZyBpdHMgcm93cy48XC9wPlxyXG4iLCJoaW50IjoiIiwib3JpZ2luYWwiOiIxIiwiaHRtbF90aXRsZSI6IjAiLCJwcm9ibGVtX2xhbmdfdGNvZGUiOiJFbmdsaXNoIn1d