OSDN Git Service

尝试修改缩进
authorPinkRabbit <46786295+GitPinkRabbit@users.noreply.github.com>
Sun, 24 Jan 2021 16:15:21 +0000 (00:15 +0800)
committerGitHub <noreply@github.com>
Sun, 24 Jan 2021 16:15:21 +0000 (00:15 +0800)
2 空格变成 Tab

docs/graph/block-forest.md

index b335dd7..872f4a7 100644 (file)
@@ -267,59 +267,59 @@ int main() {
         int wgh[MN * 2];
         
         void Tarjan(int u) {
-          low[u] = dfn[u] = ++dfc;
-          stk[++tp] = u;
-          ++num;
-          for (int v : G[u]) {
-            if (!dfn[v]) {
-              Tarjan(v);
-              low[u] = std::min(low[u], low[v]);
-              if (low[v] == dfn[u]) {
-                wgh[++cnt] = 0;
-                for (int x = 0; x != v; --tp) {
-                  x = stk[tp];
-                  T[cnt].push_back(x);
-                  T[x].push_back(cnt);
-                  ++wgh[cnt];
-                }
-                T[cnt].push_back(u);
-                T[u].push_back(cnt);
-                ++wgh[cnt];
-              }
-            } else low[u] = std::min(low[u], dfn[v]);
-          }
+               low[u] = dfn[u] = ++dfc;
+               stk[++tp] = u;
+               ++num;
+               for (int v : G[u]) {
+                       if (!dfn[v]) {
+                               Tarjan(v);
+                               low[u] = std::min(low[u], low[v]);
+                               if (low[v] == dfn[u]) {
+                                       wgh[++cnt] = 0;
+                                       for (int x = 0; x != v; --tp) {
+                                               x = stk[tp];
+                                               T[cnt].push_back(x);
+                                               T[x].push_back(cnt);
+                                               ++wgh[cnt];
+                                       }
+                                       T[cnt].push_back(u);
+                                       T[u].push_back(cnt);
+                                       ++wgh[cnt];
+                               }
+                       } else low[u] = std::min(low[u], dfn[v]);
+               }
         }
         
         int vis[MN * 2], siz[MN * 2];
         
         void DFS(int u, int fz) {
-          vis[u] = 1;
-          siz[u] = (u <= N);
-          for (int v : T[u]) if (v != fz) {
-            DFS(v, u);
-            Ans += 2ll * wgh[u] * siz[u] * siz[v];
-            siz[u] += siz[v];
-          }
-          Ans += 2ll * wgh[u] * siz[u] * (num - siz[u]);
+               vis[u] = 1;
+               siz[u] = (u <= N);
+               for (int v : T[u]) if (v != fz) {
+                       DFS(v, u);
+                       Ans += 2ll * wgh[u] * siz[u] * siz[v];
+                       siz[u] += siz[v];
+               }
+               Ans += 2ll * wgh[u] * siz[u] * (num - siz[u]);
         }
         
         int main() {
-          scanf("%d%d", &N, &M);
-          for (int u = 1; u <= N; ++u) wgh[u] = -1;
-          cnt = N;
-          for (int i = 1; i <= M; ++i) {
-            int u, v;
-            scanf("%d%d", &u, &v);
-            G[u].push_back(v);
-            G[v].push_back(u);
-          }
-          for (int u = 1; u <= N; ++u) if (!dfn[u]) {
-            num = 0;
-            Tarjan(u), --tp;
-            DFS(u, 0);
-          }
-          printf("%lld\n", Ans);
-          return 0;
+               scanf("%d%d", &N, &M);
+               for (int u = 1; u <= N; ++u) wgh[u] = -1;
+               cnt = N;
+               for (int i = 1; i <= M; ++i) {
+                       int u, v;
+                       scanf("%d%d", &u, &v);
+                       G[u].push_back(v);
+                       G[v].push_back(u);
+               }
+               for (int u = 1; u <= N; ++u) if (!dfn[u]) {
+                       num = 0;
+                       Tarjan(u), --tp;
+                       DFS(u, 0);
+               }
+               printf("%lld\n", Ans);
+               return 0;
         }
         ```