[POJ 1222] EXTENDED LIGHTS OUT
来源:互联网 发布:工业自动化软件 编辑:程序博客网 时间:2024/05/09 23:37
题目
http://acm.pku.edu.cn/JudgeOnline/problem?id=1222
描述
给你一个5行6列的矩阵分别表示30个灯,矩阵map[i][j]为1表示灯亮着, 0表示灯没亮. 要求你输出解决方案. press[i][j]为1表示按一下,0表示不按。使得最后状态为所有灯都熄灭。
分析
高斯消元法(Gaussian elimination method)
=>
对于每个格子 map[i][j], 能影响他的格子为 (i-1, j), (i, j-1), (i+1, j), (i, j+1), 以及自身(i, j).=> (press[i-1][j] + press[i][j-1] + press[i+1][j] + press[i][j+1] + press[i][j] + map[i][j]) & 1 = 0 // press[x][y] 表示 0: 不按; 1: 按下.
=> (press[i-1][j] + press[i][j-1] + press[i+1][j] + press[i][j+1] + press[i][j]) & 1 = map[i][j]
那么就可以为每个格子列出一个方程, 得到共 30 个方程的方程组, 进而用高斯消元法来解方程组.
// 先给格子编好号 1 -> 30
// 然后就可以压缩为一维
=>
1 2 3 4 5 6
7 8 9 10 11 12
13 14 15 16 17 18
19 20 21 22 23 24将涉及不到的格子的系数设为 0.
然后就是普通的高斯消元了.
O(n3) 还有没有比高斯消元更优化的方法?
可不可以从未知量系数非0即1来考虑?
- poj 1222 EXTENDED LIGHTS OUT
- POJ 1222 EXTENDED LIGHTS OUT
- POJ 1222 : EXTENDED LIGHTS OUT
- POJ 1222 EXTENDED LIGHTS OUT
- POJ 1222 EXTENDED LIGHTS OUT
- POJ 1222 EXTENDED LIGHTS OUT
- poj 1222:EXTENDED LIGHTS OUT
- POJ 1222 EXTENDED LIGHTS OUT
- POJ 1222 EXTENDED LIGHTS OUT
- poj 1222EXTENDED LIGHTS OUT
- POJ 1222 EXTENDED LIGHTS OUT
- POJ 1222 EXTENDED LIGHTS OUT
- [POJ 1222] EXTENDED LIGHTS OUT
- 【POJ 1222】EXTENDED LIGHTS OUT
- POJ 1222 EXTENDED LIGHTS OUT
- poj-1222 EXTENDED LIGHTS OUT
- poj 1222 EXTENDED LIGHTS OUT
- POJ 1222 EXTENDED LIGHTS OUT
- poj 2421 Constructing Roads
- ASP.NET MVC 让@Html.DropDownList显示默认值
- BZOJ 3506 robotic sort (splay)
- 如何编写绑定端口shellcode
- uva 10400 Game Show Math(深搜 )
- [POJ 1222] EXTENDED LIGHTS OUT
- (五十三)屏幕适配初步
- C/S 三层概述
- 02-2. 然后是几点
- SpringMVC使用(一)——@RequestMapping处理请求
- POJ 1611 The Suspects
- Gradle源码入门学习之十-- Listener & Dispatch
- C++ 再谈string类型(4) string类型的查找
- CentOS 7 / RHEL 7 systemd 指令