Problem A. Magic Trick解答

来源:互联网 发布:docker nginx 镜像 编辑:程序博客网 时间:2024/05/17 03:16
PDF版
原题链接:Problem A. Magic Trick。

这一题6分,题目要求可简化如下:
前提条件:
1. 给定A和B两个4 x 4 的矩阵,两个矩阵中都填充了1 ~ 16这16个数字(每个矩阵中的数字都唯一)。
2. 取出矩阵A中指定某一行的4个数字;
3 .取出矩阵B中指定某一行(可能与第2步中行数相同)的4个数字。
要求:
判断步骤2中的数字与步骤3中的数字是否包含相同的数字。如果有且只有一个相同数字,那么输出这个相同的数字;如果没有相同的数字,则输出“Volunteer cheated!“;如果相同的数字个数大于或等于2,则输出“Bad magician!”。

解答:
把两组数字分别放到两个数组中,逐个比较这两个数组,然后把相同的数字放到一个list中,最后判断list.size()即可。函数实现如下
private List<String> processTrickPair( String[] values1, String[] values2){List<String> ret = new ArrayList<String>();for( int i = 0; i < values1.length; i ++ ){for( int j = 0; j < values2.length; j ++ ){if( values1[i].equals( values2[j])){ret.add( values1[i] );}}}return ret;}

源代码下载:MagicTrick.java

0 0