会使电脑死机的错误
  • 板块灌水区
  • 楼主luo_xiaoran
  • 当前回复6
  • 已保存回复6
  • 发布时间2023/10/10 16:22
  • 上次更新2023/11/2 14:39:42
查看原帖
会使电脑死机的错误
605945
luo_xiaoran楼主2023/10/10 16:22

题目:AT_dp_f LCS

Runtime Error

#include<bits/stdc++.h>
#define ll long long
using namespace std;
int al,bl;
struct node{
	int sum;
	string ans;
}dp[3005][3005];
string a,b;
int main(){
	cin>>a>>b;
	al=a.size();
	bl=b.size();
	a=' '+a;
	b=' '+b;
	dp[1][1].sum=0;
	for(int i=1;i<=al;i++)
		for(int j=1;j<=bl;j++)
			if(a[i]==b[j]) dp[i][j].sum=dp[i-1][j-1].sum+1,dp[i][j].ans=dp[i-1][j-1].ans+a[i];
			else if(dp[i][j-1].sum>dp[i-1][j].sum) dp[i][j].sum=dp[i][j-1].sum,dp[i][j].ans=dp[i][j-1].ans;
			else dp[i][j].sum=dp[i-1][j].sum,dp[i][j].ans=dp[i-1][j].ans;
	cout<<dp[al][bl].ans;
	return 0;
}
/*
*/

当输入为两个一模一样的长度为3000的字符串时,电脑卡死了。

推测是 string 太多导致的,求调。

2023/10/10 16:22
加载中...