补药卡空间😭😭😭
2025-01-05 12:13:29
发布于:湖南
28阅读
0回复
0点赞
#include<bits/stdc++.h>
#pragma GCC optimize(3,"Ofast")
#define QWQ return 0;
#define int long long
using namespace std;
int n,tot,vis[1500005],cnt,ans;
string s[500005];
vector<int>G[1500005];
unordered_map<string,int>m;//map
int dfs(int x){
int maxn=0,maxx=0;
vis[x]=1;
for(int i:G[x]){
if(!vis[i]){
maxx=dfs(i);
cnt=max(cnt,maxx+maxn+(x>n?(int)G[x].size()-1:0));
maxn=max(maxx,maxn);
}
}
return maxn+(x>n?(int)G[x].size()-1:0);
}
signed main(){
cin.tie(nullptr) -> sync_with_stdio(0);
cout.tie(nullptr) -> sync_with_stdio(0);
cin>>n;
tot=n;
for(int i=1;i<=n;++i){
cin>>s[i];
if(!m[s[i]]) m[s[i]]=++tot;
if(!m[s[i].substr(1)]) m[s[i].substr(1)]=++tot;
G[i].push_back(m[s[i]]);
G[m[s[i]]].push_back(i);
G[i].push_back(m[s[i].substr(1)]);
G[m[s[i].substr(1)]].push_back(i);
}
for(int i=1;i<=tot;++i)
if(!vis[i]){
cnt=0;
ans=max({ans,dfs(i)+1,cnt+1});
}
printf("%d",ans);
QWQ
}
全部评论 1
菜就多练
6天前 来自 广东
0这么喜欢挑衅?(无恶意
6天前 来自 北京
0%%%一针见血😱😱😱
6天前 来自 湖南
06天前 来自 广东
0
有帮助,赞一个