百炼 Zipper 剪枝
来源:互联网 发布:mac dock栏恢复默认 编辑:程序博客网 时间:2024/04/30 04:36
- 写代码前一定要写好架构和一些细节。
- 利用变量保存字符串的ascii码值之和进行可行性剪枝。
- 若两字符串中所含各字母个数相同,则ascii值之和相同,反之不然,但大部分都是,可以剪枝。
题目链接:http://bailian.openjudge.cn/practice/2192/
#include<cstdio>#include<iostream>#include<sstream>#include<cstdlib>#include<cmath>#include<cctype>#include<string>#include<cstring>#include<algorithm>#include<stack>#include<queue>#include<set>#include<map>#include<ctime>#include<vector>#include<fstream>#include<list>using namespace std;#define ms(s) memset(s,0,sizeof(s))typedef unsigned long long ULL;typedef long long LL;const int INF = 1000000000;char str1[210];char str2[210];char s[420];int len1,len2;int c1,c2;bool dfs(int i, int j, int k){ if(s[k] == '\0') return true; if(str1[i] == '\0') { if(str2[j] == s[k]) { if(dfs(i,j+1,k+1) == true) return true; } else return false; } else if(str2[j] == '\0') { if(str1[i] == s[k]) { if(dfs(i+1,j,k+1) == true) return true; } else return false; } else { if(str1[i] != str2[j]) { if(str1[i] == s[k]) { if(dfs(i+1,j,k+1) == true) return true; } else if(str2[j] == s[k]) { if(dfs(i,j+1,k+1) == true) return true; } else return false; } else { if(str1[i] != s[k]) return false; else { if(dfs(i+1,j,k+1) == true) return true; if(dfs(i,j+1,k+1) == true) return true; } } } return false;}int main(){// freopen("F:\\data.txt","r",stdin);//方便调试 int t; scanf("%d", &t); getchar(); for(int i = 1; i <= t; ++i) { c1 = 0; c2 = 0; scanf("%s%s%s", str1,str2,s); for(int i = 0; str1[i] != '\0'; i++) c1+=str1[i]; for(int i = 0; str2[i] != '\0'; i++) c1+=str2[i]; for(int i = 0; s[i] != '\0'; i++) c2+=s[i]; if(c1!=c2 || dfs(0,0,0) == false) printf("Data set %d: no\n",i); else printf("Data set %d: yes\n",i); } return 0;}
1 0
- 百炼 Zipper 剪枝
- hdu1501 Zipper DFS带剪枝
- Zipper(poj2192)dfs+剪枝
- hdoj 1501 Zipper 【DFS + 剪枝】
- poj 2192 Zipper(DFS+剪枝)
- Zipper 深搜与剪枝
- POJ 2192 Zipper [dfs+剪枝 || dp]
- HDU 1501 Zipper (DFS+剪枝做法)
- HDU:1501 Zipper(DFS+剪枝)
- OpenJudge百炼-2812-恼人的青蛙-C语言-枚举与剪枝
- Zipper
- Zipper
- Zipper
- Zipper
- Zipper
- zipper
- Zipper
- Zipper
- 信用评分之七--逻辑回归中的虚拟变量设置
- aliyun CentOS 7 install software jdk mysql tomcat zentao and so on
- 大型网站设计
- Spark运行架构
- left join on 和where条件的放置
- 百炼 Zipper 剪枝
- Java学前基础知识
- jquery知识点总结
- 基础算法系列总结:动态规划(解公司外包成本问题)
- c语言那些很少用到的东西
- Android中JNI的使用方法
- 百度之星 大搬家 递推
- (Java)LeetCode-33. Search in Rotated Sorted Array
- AVL平衡搜索树