ZOJ 1403 Safecracker
2013-04-03 21:05
435 查看
简单的回溯搜索题,枚举每5个字母的120中组合
#include <iostream> #include <cstdio> #include <string> #include <cstring> #include <algorithm> #include <vector> #include <functional> using namespace std; vector<char>stak,ans; int len,target; char str[15]; void backtracking(int curi){ if(stak.size()==5){ vector<char>temp=stak; do { int a=temp[0]-'A'+1,b=temp[1]-'A'+1,c=temp[2]-'A'+1,d=temp[3]-'A'+1,e=temp[4]-'A'+1; if(a-b*b+c*c*c-d*d*d*d+e*e*e*e*e==target){ if(temp>ans)ans=temp; } } while (prev_permutation(temp.begin(),temp.end()));//枚举每一种排列 return; }else if(curi>=len)return; stak.push_back(str[curi]); backtracking(curi+1); stak.pop_back(); backtracking(curi+1); } int main(){ while (scanf("%d %s",&target,str)==2) { if(target==0&&strcmp(str,"END")==0)break; stak.clear(),ans.clear(); len=strlen(str); sort(str,str+len,greater<char>()); backtracking(0); if(ans.size()){ for (int i=0;i<ans.size();++i) { printf("%c",ans[i]); } printf("\n"); }else printf("no solution\n"); } return 0; }
相关文章推荐
- Safecracker【ZOJ - - 1403】
- 暴力 ZOJ 1403 Safecracker
- Zoj 1403 Safecracker (模拟)
- ZOJ 1403&&HDU 1015 Safecracker【暴力】
- ACM ZOJ Problem Set - 1403 Safecracker
- zoj 1403 Safecracker(枚举)
- ZOJ 1403 Safecracker
- UVALive2536 POJ1248 HDU1015 ZOJ1403 Safecracker【密码+暴力+水题】
- zoj 1403 Safecracker 枚举
- ZOJ1403 Safecracker
- ZOJ - 1403 Safecracker
- zoj1403
- ZOJ-1403
- zoj 1403 简单枚举
- zoj 2866 Overstaffed Company
- zoj 3710 Friends
- ZOJ 3870 Team Formation(异或)
- zoj 3963
- ZOJ 2676 Network Wars
- ZOJ