样例过了但RE,求调玄关(求数据)
查看原帖
样例过了但RE,求调玄关(求数据)
561535
bailin_Wzy楼主2024/8/27 15:36

题目

代码:

#include <bits/stdc++.h>
using namespace std;
const int N=2e5+5;
string collect[205];
int cnt=0; 
string s;
bool dp[N];
int main(){
	while(1){
		string c;
		getline(cin,c);
		if(c==".")break;
		c=c+" ";
		string cc="";
		for(int i=0;i<c.size();i++){
			if(c[i]==' '){
				collect[++cnt]=cc;
				cc="";
			}else cc+=c[i];
		}
	}
	string c;
	while(cin>>c){
		s=s+c;
	}
	s=" "+s;
	int sl=s.size();
	dp[0]=1;
	for(int i=0;i<sl;i++){
		if(dp[i]==1){
			for(int j=1;j<=cnt;j++){
				int cl=collect[j].size();
				int flag=1;
				if(sl-i-1<cl)continue;
				if(dp[i+cl]==1)continue;
				for(int p1=i+1,p2=0;p1<sl && p2<cl;p1++,p2++){
					if(s[p1]!=collect[j][p2]){
						flag=0;
						break;
					}
				}
				if(flag)dp[i+cl]=1;
			}
		}
	}
	int ans=0;
	for(int i=0;i<sl;i++){
		if(dp[i]==1)ans=i;
	}
	cout<<ans;
	return 0;
}
2024/8/27 15:36
加载中...