关于码风

灌水区

The first one.
by liuyi0905 @ 2024-04-17 07:16:31


@[wwqwq](/user/669919) 第二个
by DFs_YYDS @ 2024-04-17 07:35:38


第一个 第二个是我曾经的马蜂,但是这样的话括号就还要专门换行,我觉得浪费时间。 但是马蜂这个事情你自己看着顺眼就好了,OI 又不考你的马蜂。
by Igallta @ 2024-04-17 07:48:33


@[wwqwq](/user/669919) 1
by __ycx2010__ @ 2024-04-17 08:09:41


2 但是没必要,自己喜欢就好
by starback24 @ 2024-04-17 08:16:34


都不好看,这样好看 ```cpp #include<bits/stdc++.h> using namespace std; int main(){int a,b;cin>>a>>b;cout<<a+b;} ``` 不要杠为什么不压成一行两行,压行不是为了压行本身,而是为了方便和可读性
by hgckythgcfhk @ 2024-04-17 10:18:34


@[hgckythgcfhk](/user/692274) 所以这个压法可读性真的很强吗qwq
by _qingshu_ @ 2024-04-17 11:01:30


@[_qingshu_](/user/602803) 这是我保存的[一个比较好看的程序](https://www.luogu.com.cn/paste/i02gjs6w),压行压得不是很重,但是好看,所以这说明未必压得越短越好看
by hgckythgcfhk @ 2024-04-17 11:14:45


@[hgckythgcfhk](/user/692274) [没有压行,如何呢](https://www.luogu.com.cn/paste/dykip08r)
by _qingshu_ @ 2024-04-17 11:27:20


@[wwqwq](/user/669919) 建议学这个( ```cpp #include <bits/stdc++.h> using namespace std; const int N = 5e5 + 5, LOG = 25; int n, m, s, tot; int f[N][LOG]; int d[N]; int head[N]; struct node { int to; int nxt; } e[N << 2]; void addedge (int u, int v) { e[++ tot].nxt = head[u]; e[tot].to = v; head[u] = tot; } int LCA (int x, int y) { if (x == y) { // 特判 return x; } // 找到深度大的结点 if (d[x] < d[y]) { swap (x, y); } // 第一阶段,让 x 往上跳 int dep = d[x] - d[y]; for (int k = 20; k >= 0; -- k) { if (dep >= (1 << k)) { dep -= (1 << k); x = f[x][k]; } } if (x == y) { // 特判 x=y 的时候,直接返回 return x; } // 第二阶段,让 x,y 一起跳 for (int k = 20; k >= 0; -- k) { if (f[x][k] != f[y][k]) { x = f[x][k]; y = f[y][k]; } } // 返回父亲 return f[x][0]; } void dfs (int cur, int father) { f[cur][0] = father; d[cur] = d[father] + 1; for (int i = head[cur]; i; i = e[i].nxt) { if (e[i].to != father) { dfs (e[i].to, cur); } } } int main () { scanf ("%d %d %d", &n, &m, &s); for (int i = 1; i < n; ++ i) { int x, y; scanf ("%d %d", &x, &y); addedge (x, y); addedge (y, x); } dfs (s, 0); for (int j = 1; j <= 20; ++ j) { for (int i = 1; i <= n; ++ i) { f[i][j] = f[f[i][j - 1]][j - 1]; } } while (m --) { int x, y; scanf ("%d %d", &x, &y); printf ("%d \n", LCA (x, y)); } return 0; } ```
by WydnksqhbD_3 @ 2024-04-17 11:52:45


| 下一页