3
有选择地谋杀正整数
介绍 算术监禁是一种特殊的工具,它可以包含正整数。但是,最近,正整数一直在试图逃脱。因此,管理人员已决定要消除一些正整数,以便向其他整数发送消息。他们聘请了一名软件工程师来编写程序,以找出要消除的整数以最大程度地发挥作用。 输入说明 输入是通过STDIN,命令行参数或用户输入函数(例如raw_input)给出的。您不能将其作为函数参数或预初始化的变量使用(例如,该程序希望在变量中输入x)。 输入的第一行包含一个正整数n,其中8 >= n >= 3。接下来是n包含n集合中字符的行[1,2,3,4,5,6,7,8,9]。这是一个示例输入: 5 22332 46351 65455 24463 65652 输出说明 监护人希望消除数字,以便满足以下条件: 在结果网格的每一行和每一列中,没有数字将出现两次; 消除的两个数字在水平或垂直方向上不得相邻; 尚存数字必须形成正交的连续组-可以从任何尚存数字移动到仅在水平和垂直方向移动且永远不会越过任何被淘汰号码的任何其他尚存数字。 输出输入(减去第一行),将消除的数字替换为#。 可能有不止一种解决方案。在这种情况下,您可以输出任何解决方案。 可能也没有解决方案。在这种情况下,输出字符串no answer。 这是示例输入的可能输出: #2#3# 46351 6#4#5 24#63 #56#2 输入和输出示例 每个输入都有多个输出,因此这些输出仅是示例。 输入: 5 46551 51565 32654 14423 43244 输出: 46#51 #156# 326#4 1#423 #324# 输入: 7 7183625 1681563 5238564 …