UVA - 11127(搜索)
来源:互联网 发布:杨幂对赌协议知乎 编辑:程序博客网 时间:2024/06/06 19:25
直接二进制暴,因为分析一下可行解较少。
用位运算可防卡姿势。
#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>#include <vector>using namespace std;vector<int> ans;inline int judge(int v){ ans.push_back(v); for(int i=1;i*3<=ans.size();i++){ int ok = 1; for(int j=1;j<=i;j++){ int fir = ans[ans.size()-j]; for(int k=ans.size()-j,cnt=1;k>=0&&cnt<=3;k-=i,cnt++) { if(ans[k]!=fir) {ok = 0; break;} } } if(ok) {ans.pop_back(); return 0;} } ans.pop_back(); return 1;}char str[100];int cnt,n;void dfs(int p){ if(p == n){ cnt++; return ; } if(str[p]=='0'||str[p]=='1'){ if(judge(str[p]-'0')){ ans.push_back(str[p]-'0'); dfs(p+1); ans.pop_back(); } } else{ for(int i=0;i<=1;i++){ if(judge(i)){ ans.push_back(i); dfs(p+1); ans.pop_back(); } } }}int main(){ int T = 1; while(scanf("%d",&n)&&n){ scanf("%s",str); ans.clear(); cnt = 0; dfs(0); printf("Case %d: %d\n",T++,cnt); } return 0;}
0 0
- UVA - 11127(搜索)
- 搜索专项:UVa 10318
- uva 11624 搜索
- uva 10047 搜索
- UVA 439 bfs搜索
- UVA 11489 搜索
- uva 10603(隐式图搜索)
- uva 10422(隐式图搜索)
- uva 10085(隐式图搜索)
- uva 310(隐式图搜索)
- uva 321(隐式图搜索)
- uva 704(隐式图搜索)
- UVA 11624 搜索
- UVA - 690(搜索+剪枝)
- UVA - 12107(搜索)
- uva 140 剪枝搜索
- uva 1601 dbfs搜索
- uva 208 双向搜索
- svn server配置与TortoiseSVN、Ankhsvn+VS使用
- 初探ZeroMQ(三) 发布-订阅模式中套结字总结
- 寻路基础
- netty入门实例
- 源代码在进行加密的过程中需要注意的问题
- UVA - 11127(搜索)
- qt操作csv
- (三)错误推测法
- Linux下使用JNI
- 第三章作业3.23
- 为github帐号添加SSH keys(以及上传代码到github)
- Ajax请求中的async:false/true的作用
- Java基础复习第一天
- c++中引用c和c中应用c++