32分求调,已经看不出和题解有啥区别了
查看原帖
32分求调,已经看不出和题解有啥区别了
355377
xiaozhuo楼主2023/8/2 17:54
#include<bits/stdc++.h>
using namespace std;
int n, f[200010], ans;
string s[210], ss = " ", sss;
int main()
{
	while(cin >> s[++n])
		if(s[n] == ".") break;
	n --;
	cin >> sss;
	ss += sss;
//	for(int i = 1;i <= n;i ++) cout << s[i] << " ";
//	cout << endl;
//	cout << ss;
//	cout << n << endl;
//	cout << ss << endl;
	int ls = ss.size();
	f[0] = 1;
	for(int i = 1;i <= ls;i ++)
		for(int j = 1;j <= n;j ++)
		{
			int l = s[j].size();
			if(i < l) continue;
			if(ss.substr(i - l + 1, l) == s[j] && f[i - l])
			{
				f[i] = 1;
				ans = i;
				break;
//				cout << i << " " << f[i] << endl;
			} 
			f[i] = 0;
		}
	cout << ans;
	return 0; 
} 
2023/8/2 17:54
加载中...