hdu 2209 翻纸牌游戏
来源:互联网 发布:cf体验服网络出现异常 编辑:程序博客网 时间:2024/05/16 11:07
http://acm.hdu.edu.cn/showproblem.php?pid=2209
分析:第1张牌的状态只受两种影响:自己和第2张牌;判断前一张牌是否为正面
#include <iostream>#include <cstring>#include <cstdio>#include <queue>using namespace std;const int NM=25;int mmin,len,a[NM];bool flag;char str[NM];void DFS(int t,int k){ if(t==len){for(int i=0;i<len;i++){if(a[i]) break;} if(i==len){ flag=true; if(k<mmin) mmin=k; } return; } if(a[t-1]==1){ a[t-1]=1-a[t-1];a[t]=1-a[t];a[t+1]=1-a[t+1];DFS(t+1,k+1);a[t-1]=1-a[t-1];a[t]=1-a[t];a[t+1]=1-a[t+1]; } DFS(t+1,k);}int main(){ while(~scanf("%s",str)){ len=strlen(str); for(int i=0;i<len;i++) a[i]=str[i]-'0'; mmin=0xfffffff;flag=false; DFS(1,0); //第1张牌不动a[0]=1-a[0];a[1]=1-a[1]; //第1张牌翻转DFS(1,1); if(flag) printf("%d\n",mmin); else printf("NO\n"); } return 0;}
0 0
- HDU 2209 翻纸牌游戏
- hdu 2209 翻纸牌游戏
- hdu 2209 翻纸牌游戏
- hdu 2209 翻纸牌游戏
- hdu-2209 翻纸牌游戏
- hdu 2209 翻纸牌游戏
- hdu 2209 翻纸牌游戏
- HDU 2209 翻纸牌游戏
- HDU 2209 翻纸牌游戏
- HDU 2209翻纸牌游戏
- hdu 2209 翻纸牌游戏
- HDU 2209 翻纸牌游戏
- 翻纸牌游戏 HDU
- 翻纸牌游戏 HDU
- hdu 2209——翻纸牌游戏
- hdu 2209 翻纸牌游戏 贪心
- hdu 2209 翻纸牌游戏(dfs)
- hdu 2209 翻纸牌游戏 搜索+贪心
- Objective-C 编码实践:自写类和枚举方式输出新建类的各个成员
- 自动旋转和调整大小
- QQ音乐上的音频格式
- cocos2d-x C++的do...while(0)解释
- 面试礼仪
- hdu 2209 翻纸牌游戏
- NYOJ737石子合并(一)
- 括号匹配(二)
- Digit Problem
- Splits the string
- SeeLCSagain
- 筛选法快速查找素数
- 搭建自己的服务器之Web服务器父与…
- c语言特色之位运算