//DP,先设置n+1个模板,然后依次判断是否可以在每个位置断开
class Solution {
public:bool wordBreak(string s, unordered_set<string> &dict) {
int m=dict.size();
if(m==0)return false;
int n=s.size();
vector<bool> f(n+1,false);
f[0]=true;
for(int i=1;i<=n;i++)
for(int j=0;j<=i-1;j++)
{
if(f[j]&&(dict.find(s.substr(j,i-j))!=dict.end()))
f[i]=true;
}
return f[n];
}
};