站外题求条
查看原帖
站外题求条
943498
wangshenluogu楼主2024/8/16 11:15

题目链接.

#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
string a,b,c;
int T,dp[2099][2099],cnt;
int main(){
        ios::sync_with_stdio(false);
        cin.tie(0);cout.tie(0);
	cin>>T;
	while(T--){
		cin>>a>>b>>c;
		memset(dp,0,sizeof(dp));
		cout<<"Data set "<<(++cnt)<<": ";
		int la=a.size(),lb=b.size();
		for(int i=1;i<=la;i++){
			if(a[i-1]==c[i-1]){
				dp[i-1][0]=1;
			}else{
				break;
			}
		}
		for(int i=1;i<=lb;i++){
			if(b[i-1]==c[i-1]){
				dp[0][i-1]=1;
			}else{
				break;
			}
		}
		dp[0][0]=1;
		for(int i=1;i<=la;i++){
			for(int j=1;j<=lb;j++){
				if(dp[i][j-1]==1&&a[j-1]==c[i+j-1]){
					dp[i-1][j-1]=1;
				}
				if(dp[i-1][j]==1&&b[i-1]==c[i+j-1]){
					dp[i-1][j-1]=1;
				}
			}
		}
		if(dp[la-1][lb-1]==1){
			cout<<"yes"<<endl;
		}else{
			cout<<"no"<<endl;
		}
	}
	return 0;
}

错误信息:Time Limit Exceeded\color{red} Time\ Limit\ Exceeded

2024/8/16 11:15
加载中...