POJ2965 The Pilots Brothers' refrigerator(枚举)
来源:互联网 发布:捷速扫描文字识别软件 编辑:程序博客网 时间:2024/05/21 08:53
http://poj.org/problem?id=2965
跟POJ1753相似,暴力枚举。我这里用了迭代加深。
#include <stdio.h>#include <string.h>int chess;int step, flag;int row[20], col[20];inline void flip(int pos) { chess = chess^(1<<pos); for(int i=0; i<4; ++i) chess=chess^(1<<(pos/4*4 + i)); for(int i=0; i<4; ++i) chess=chess^(1<<(pos%4 + i*4));}void dfs(int pos,int k) { if(k==step) { flag = (chess==0xFFFF); return ; } if(flag || pos>15) return; row[k] = pos/4; col[k] = pos%4; flip(pos); dfs(pos+1, k+1); flip(pos); dfs(pos+1, k);}int main() { int i,j; char temp[5]; chess = 0; for(i=0; i<4; ++i) { scanf("%s",&temp); for(j=0; j<4; ++j) if(temp[j]=='-') chess = chess^(1<<(i*4+j)); } flag = 0; for(step=0; step<=16; step++) { //迭代搜索深度 dfs(0,0); if(flag) break; } printf("%d\n",step); for(i=0; i<step; ++i) printf("%d %d\n",row[i]+1,col[i]+1); return 0;}
高效解法:http://poj.org/showmessage?message_id=156561
- POJ2965 The Pilots Brothers' refrigerator 枚举
- POJ2965,The Pilots Brothers' refrigerator,枚举,DFS
- POJ2965 The Pilots Brothers' refrigerator(枚举)
- 暴力枚举-POJ2965 The Pilots Brothers' refrigerator
- 枚举 poj2965 The Pilots Brothers' refrigerator
- poj2965 The Pilots Brothers' refrigerator(枚举,压缩)
- poj2965 The Pilots Brothers' refrigerator dfs+枚举
- poj2965 The Pilots Brothers' refrigerator(枚举)
- POJ2965 The Pilots Brothers' refrigerator
- POJ2965----The Pilots Brothers' refrigerator
- poj2965 The Pilots Brothers' refrigerator
- POJ2965-The Pilots Brothers' refrigerator
- poj2965--The Pilots Brothers' refrigerator
- poj2965 The Pilots Brothers' refrigerator
- poj2965 The Pilots Brothers' refrigerator
- The Pilots Brothers' refrigerator Poj2965
- POJ2965-The Pilots Brothers' refrigerator
- POJ2965-The Pilots Brothers' refrigerator
- [leetcode]Best Time to Buy and Sell Stock II
- 9 STL算法
- Ubuntu sudo 免密码之 sudoers 修改
- 不借助库函数 字符串逆转
- 【源码】java中图片和Base64互相转换源码
- POJ2965 The Pilots Brothers' refrigerator(枚举)
- Raspberry pi detail hardware configuration
- C++ 中关键字static的作用
- cocos2d-x 游戏重制进行时
- 如何利用注册表修改开机启动程序并提高电脑开机速度!
- Android SDK Manager 无法下载更新,或者更新速度超慢,或者待安装包列表不显示
- android文件下载
- 注册表改XP用户配置文件目录位置
- 【RAC】在cluster安装过程中,两个节点时间不同步导致的警告