poj1222||zoj 1354 Extended Lights Out(枚举)

好恨啊,枚举题都不行了。看了报告才会做的。不过这也算是一个类型题,且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/

有另一种做法:高斯消元,先不做。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值