求求大佬帮忙康康或给组hack QAQ
#include<bits/stdc++.h>
using namespace std;
int n,m,u,v,dt[100005],low[100005],ss[100005],cnt,rt;
long long int ans[100005];
vector <int> mp[100005];
void tj(int x){
ss[x]++;
dt[x]=++cnt;
low[x]=cnt;
int t=n-1;
for(int i=0;i<mp[x].size();i++){
if(!dt[mp[x][i]]){
tj(mp[x][i]);
if(low[mp[x][i]]>=dt[x]){
t-=ss[mp[x][i]];
ans[x]+=ss[mp[x][i]]*(n-ss[mp[x][i]]);
}
low[x]=min(low[x],low[mp[x][i]]);
ss[x]+=ss[mp[x][i]];
}
else low[x]=min(low[x],dt[mp[x][i]]);
}
ans[x]+=n-1;
ans[x]+=t*(n-t);
}
int main(){
cin>>n>>m;
for(int i=1;i<=m;i++){
cin>>u>>v;
mp[u].push_back(v);
mp[v].push_back(u);
}
rt=1;
tj(1);
for(int i=1;i<=n;i++){
cout<<ans[i]<<endl;
}
return 0;
}