摘要:
这题有两种解题思路,一个是记忆化搜索,一个是dp。分别贴代码:记忆化搜索:#include#include#include#include#includechar str[1000],a[300],b[300];int sum,flag;int hash[205][205];void dfs(int i,int j,int k){ if(flag) return ; if(k==sum) { flag=1; return ; } if(hash[i][j]) return ; hash[i][j]=1;... 阅读全文
摘要:
从原串的最大长度开始枚举,当某个长度的值能保存所有串时,即成功。对每个长度进行深搜,每次取某个串的第一个。#include#include#include#include#includeusing namespace std;char str[8][6];int flag=0,len[10],n;int getlen(int *a){ int i,ans=0; for(i=0;inowlen)//剩下的串中最短的串比预计长度要长 return ; if(nowlen==0)//找到,进行标记 { flag=1; return ;... 阅读全文