fork download
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3.  
  4. #define for1(i,m,n) for(int i=m;i<=n;i++)
  5. #define for0(i,m,n) for(int i=m;i<n;i++)
  6.  
  7. #define int unsigned long long
  8. #define el '\n'
  9. #define fi first
  10. #define se second
  11. #define ii pair<int,int>
  12. #define vll(i) i.begin(),i.end()
  13. #define pb push_back
  14.  
  15. const int N=1e5+1111;
  16. const int mod=1e9+7;
  17. int id=0;
  18. int n,m,k,l;
  19. vector<int> v[N],v_[N];
  20. int num[N],a[N],b[N],low[N],aa[N],bb[N];
  21. // a:tong phan tu;
  22. void solve(int u,int p){
  23. num[u]=low[u]=++id;
  24. int t=0;
  25. for(auto x:v[u]){
  26.  
  27. if(x!=p){
  28. if(num[x]==0){
  29. solve(x,u);
  30. low[u]=min(low[u],low[x]);
  31. a[u]+=a[x];
  32. if(low[x]>=num[u]){
  33.  
  34. b[u]+=a[x]*(a[x]-1);
  35. }
  36. else t+=a[x];
  37. }
  38. else low[u]=min(low[u],num[x]);
  39.  
  40. }
  41. //num[x]=1;
  42.  
  43. }
  44. // cout<<"hi"<<u<<' '<<b[u]<<el;
  45. b[u]+=(n-a[u]+t)*(n-a[u]-1+t);
  46.  
  47. // cout<<a[u]<<' '<<b[u]<<el;
  48. }
  49.  
  50.  
  51. signed main(){
  52. ios_base::sync_with_stdio(0);
  53. cin.tie(0);
  54. cout.tie(0);
  55. // freopen("bai1.INP","r",stdin);
  56. // freopen("bai1.OUT","w",stdout);
  57. cin>>n>>m;
  58.  
  59. for1(i,1,n) {
  60. a[i]=1;
  61. }
  62.  
  63. for1(i,1,m){
  64. int x,y;cin>>x>>y;
  65. v[x].pb(y);
  66. v[y].pb(x);
  67. }
  68. solve(1,0);
  69. for1(i,1,n){
  70. cout<<(n-1)*n-b[i]<<el;
  71. }
  72. return 0;
  73. }
  74.  
Success #stdin #stdout 0.01s 12476KB
stdin
Standard input is empty
stdout
Standard output is empty