Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
52403 AK2022071336 木板游戏 C++ 运行超时 20 2000 MS 5908 KB 895 2022-07-19 12:08:17

Tests(4/20):


#include <bits/stdc++.h> using namespace std; const int N = 5e5 + 10; int n, vis[N], ans, tl = 1e9 + 10, tr; struct rage { int l, r; bool operator < (const rage &B) const { return r - l > B.r - B.l; } }blk[N]; void dfs(int u, int dpth) { vis[u] = 1; int fl = blk[u].l, fr = blk[u].r, flg = 1; for(int i = u + 1; i <= n; i++) { if(blk[i].l >= fl and blk[i].r <= fr) { flg = 0; dfs(i, dpth + 1); } } if(flg) ans = max(dpth, ans); return; } int main () { scanf("%d", &n); for(int i = 1; i <= n; i++) { scanf("%d%d", &blk[i].l, &blk[i].r); tl = min(tl, blk[i].l); tr = max(tr, blk[i].r); } sort(blk + 1, blk + n + 1); blk[0].l = tl, blk[0].r = tr; dfs(0, 0); printf("%d\n", ans); return 0; }


测评信息: