题目要求
P1838题目链接
我在想是不是要把这个题再写成扫雷那样的矩阵判断,想换个feel,那就用Set来处理。
众所周知Set有好处,查找快,虽说这只是九宫格三子棋,但contains()就很快啊……
我们仔细分析一下这个题,其实情况是可以穷举的:
获胜条件是先凑齐以下八种的任意一种:
- 1 + 2 + 3
- 1 + 4 + 7
- 1 + 5 + 9
- 2 + 5 + 8
- 3 + 6 + 9
- 3 + 5 + 7
- 4 + 5 + 6
- 7 + 8 + 9
用contains()即可……
就当这是一种新的思路吧……
AC代码(Java语言描述)import java.util.HashSet;
import java.util.Scanner;
import java.util.Set;
public class Main {
private static boolean winJudge(Set set) {
if ((set.contains(1)) && ((set.contains(2) && set.contains(3)) || (set.contains(4) && set.contains(7)) ||
(set.contains(5) && set.contains(9)))) {
return true;
}
if ((set.contains(3)) && ((set.contains(6) && set.contains(9)) || (set.contains(5) && set.contains(7)))) {
return true;
}
if (set.contains(2) && set.contains(5) && set.contains(8)) {
return true;
}
if (set.contains(4) && set.contains(5) && set.contains(6)) {
return true;
}
return set.contains(7) && set.contains(8) && set.contains(9);
}
public static void main(String[] args) {
Set xiaoa_set = new HashSet();
Set uim_set = new HashSet();
Scanner scanner = new Scanner(System.in);
char[] sequence = scanner.nextLine().toCharArray();
scanner.close();
for (int i = 0; i
关注
打赏
热门博文
- 【Linux】Ubuntu20.04安装和卸载MySQL8
- 【Linux】Ubuntu 20.04 报错 curl: (23) Failure writing output to destination 的解决方法
- 【Java】JUnit 4.13.2 警告 ‘assertEquals(double, double)‘ is deprecated 的解决方法
- 【JavaScript】处理 @parcel/transformer-js: Browser scripts cannot have imports or exports.
- 【Node.js】Windows环境安装配置NVM和Node.js
- 【Python】处理TypeError: Plain typing.NoReturn is not valid as type argument
- 【Python】Matplotlib可视化50例
- 【C语言】C语言修改MySQL数据库
- 【Java】从默认包导入类和对象报错的解决方法
- 【Java】panel.getGraphics()报错空指针异常的解决方法