poj1222||zoj 1354 Extended Lights Out(枚举)
2011-12-10 17:13
211 查看
好恨啊,枚举题都不行了。看了报告才会做的。不过这也算是一个类型题,且yy一番。
题目是说有个6*5的0-1状态,开关可以控制其边上的4个灯。要求灯全灭的开关状态。
所有的状态有2^30个全部枚举基本上是不可能的…>_<
有个好方法是:只要第一行有个确定的结果,就可以推出剩下的各行。
问题1:怎么确定第一行:这里就体现了何为枚举….额,6层循环举出了第一行的状态。
问题2:怎么推出2-5行的状态,根据中间一个格子的状态,可以求出其下面一行的那个位置的按钮开关情况。 要达到灭的情况有式子可以说明:map[i][j]+press[i][j]+press[i-1][j]+press[i+1][j]+press[i][j-1]+press[i][j+1])%2=0
所以可以得到:press[i+1][j]=map[x][y]+press[x][y]+press[x-1][y]+press[x][y-1]+press[x][y+1]
的值。
但是这种做法,数据小还行,大了的话难免超时。
推荐代码:http://blog.163.com/ty_sky0908/blog/static/13336033520110645242885/
有另一种做法:高斯消元,先不做。
题目是说有个6*5的0-1状态,开关可以控制其边上的4个灯。要求灯全灭的开关状态。
所有的状态有2^30个全部枚举基本上是不可能的…>_<
有个好方法是:只要第一行有个确定的结果,就可以推出剩下的各行。
问题1:怎么确定第一行:这里就体现了何为枚举….额,6层循环举出了第一行的状态。
问题2:怎么推出2-5行的状态,根据中间一个格子的状态,可以求出其下面一行的那个位置的按钮开关情况。 要达到灭的情况有式子可以说明:map[i][j]+press[i][j]+press[i-1][j]+press[i+1][j]+press[i][j-1]+press[i][j+1])%2=0
所以可以得到:press[i+1][j]=map[x][y]+press[x][y]+press[x-1][y]+press[x][y-1]+press[x][y+1]
的值。
但是这种做法,数据小还行,大了的话难免超时。
推荐代码:http://blog.163.com/ty_sky0908/blog/static/13336033520110645242885/
有另一种做法:高斯消元,先不做。
相关文章推荐
- poj 1222 & zoj 1354 EXTENDED LIGHTS OUT (枚举)
- ZOJ 1354 Extended Lights Out(枚举)
- Extended Lights Out--ZOJ 1354
- poj1222 EXTENDED LIGHTS OUT 高斯消元||枚举
- ZOJ 1354 Extended Lights Out
- ZOJ 1354 Extended Lights Out——高斯消元法解XOR方程
- POJ1222-EXTENDED LIGHTS OUT
- uva 1560 - Extended Lights Out(枚举 | 高斯消元)
- POJ 1222 EXTENDED LIGHTS OUT(熄灯问题——枚举)
- uva 1560 - Extended Lights Out(枚举 | 高斯消元)
- poj1222 EXTENDED LIGHTS OUT
- POJ 1222 EXTENDED LIGHTS OUT (noi OpenJudge 1813)枚举
- poj1222(枚举)熄灯游戏 EXTENDED LIGHTS OUT
- POJ1222-EXTENDED LIGHTS OUT-反转
- poj 1222 EXTENDED LIGHTS OUT(位运算+枚举)
- POJ-1222 EXTENDED LIGHTS OUT【暴力枚举】
- 2017省选拔(三)poj 1222 EXTENDED LIGHTS OUT (状态压缩+枚举反转)
- poj 1222 EXTENDED LIGHTS OUT(位运算+枚举)
- Poj-1222-EXTENDED LIGHTS OUT-枚举
- POJ 1222 EXTENDED LIGHTS OUT(高斯消元)