请问我为什么40分啊
查看原帖
请问我为什么40分啊
789721
Xdragon楼主2024/2/19 09:33

#2、#10RE

#6~#8WA

# include<bits/stdc++.h>
using namespace std;
string s1,s2;
long long dfs(string s1,string s2)
{
	int len=s2.size(),pos=s2.find(s1[1]);
	if(len<=1) return 0;
	if(s1[0]==s2[0]) return 1;
	else if(s1[1]==s2[len-2]) return 2*dfs(s1.substr(1),s2.substr(0,len-1));
	else
	{
		return dfs(s1.substr(1,pos),s2.substr(0,pos))*dfs(s1.substr(pos+2,len-pos-2),s2.substr(pos+1,len-pos-2));
	} 
}
int main()
{
	int len; 
	cin>>s1>>s2;
	len=s1.size();
	cout<<dfs(s1.substr(0),s2.substr(0));
	return 0;
}

下载了#2,Dev-C++报错信息:

terminate called after throwing an instance of 'std::out_of_range'
  what():  basic_string::substr: __pos (which is 4) > this->size() (which is 3)
2024/2/19 09:33
加载中...