专栏文章
题解:CF639B Bear and Forgotten Tree 3
CF639B题解参与者 1已保存评论 0
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @minqh005
- 此快照首次捕获于
- 2025/12/02 06:41 3 个月前
- 此快照最后确认于
- 2025/12/02 06:41 3 个月前
一道简单构造题。
先构造出两条链(如图)。
CPP 1
/ \
2 h + 2
/ \
. .
. .
. .
/ \
h d
/ \
h + 1 d + 1
此时还剩下一些点,
这时分类讨论,
然后 是无解的, 且 的时候也无解。
code:
CPP#include <bits/stdc++.h>
using namespace std;
int n, d, h;
int main() {
cin >> n >> d >> h;
if (d > 2 * h || (d == 1 && h == 1 && n > 2)) { // 特判
cout << "-1\n";
return 0;
}
for (int i = 2; i <= h + 1; i ++) cout << i - 1 << " " << i << "\n";
for (int i = h + 2; i <= d + 1; i ++) cout << (i == h + 2 ? 1 : i - 1) << " " << i << "\n";
for (int i = d + 2; i <= n; i ++) cout << (d == h ? 2 : 1) << " " << i << "\n";
return 0;
}
相关推荐
评论
共 0 条评论,欢迎与作者交流。
正在加载评论...