萌新本地AC提交RE
查看原帖
萌新本地AC提交RE
482730
aSunnyDay楼主2022/5/28 10:36

各位大佬救救我...THX

#include<bits/stdc++.h>
#define N 1009
using namespace std;
typedef long long ll;
ll n,m,f[N][N],ans=0;
map<string,ll> mp;
vector<ll> to[N];
int main(){
	cin>>n>>m;
	for(ll i=1;i<=n;++i){
		string s;cin>>s;
		mp[s]=i;
	}
	for(ll i=1;i<=m;++i){
		string a,b;
		cin>>a>>b;
		to[mp[a]].push_back(mp[b]);
		to[mp[b]].push_back(mp[a]);
	}
//	memset(f,0xcf,sizeof(f));
//	f[1][1]=0;
	for(ll i=1;i<=n;++i)
		for(ll j=i;j<=n;++j){
			for(ll k=0,v;k<to[i].size();++k)
				if((v=to[i][k])>j) f[j][v]=max(f[j][v],f[i][j]+1);
			for(ll k=0,v;k<to[j].size();++k)
				f[i][v=to[j][k]]=max(f[i][v],f[i][j]+1);
		}
	for(ll i=0;i<to[n].size();++i)
		ans=max(ans,f[to[n][i]][n]);
	cout<<ans+1;
	return 0;
}
2022/5/28 10:36
加载中...