Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
52411 | 304 固体 fourmis | 木板游戏 | C++ | 运行超时 | 20 | 2000 MS | 6348 KB | 622 | 2022-07-19 12:09:04 |
#include <stdio.h> #define S (((int)5e5) + 1) typedef struct Seg Seg; struct Seg { int l, r; }; int n; Seg s[S]; int vis[S]; int cnt, ans; static int max(int a, int b) { return (a > b) ? a : b; } static void dfs(int p) { int i; vis[p] = 1; cnt++; for(i = 0; i < n; i++){ if(!vis[i] && s[p].l <= s[i].l && s[i].r <= s[p].r) dfs(i); } ans = max(ans, cnt); cnt--; vis[p] = 0; } int main(void) { int i; scanf("%d", &n); for(i = 0; i < n; i++) scanf("%d%d", &s[i].l, &s[i].r); for(i = 0; i < n; i++) dfs(i); printf("%d\n", ans); return 0; }