| #include <cstdio> |
| #include <algorithm> |
| using namespace std; |
| const int N = 10005; |
| const int M = 1005; |
| const int INF = 1e9; |
| int up[N], down[N], low[N], high[N], dp[2][M]; |
| bool pipe[N]; |
| int main() { |
| int n, m, k; |
| scanf("%d%d%d", &n, &m, &k); |
| for (int i = 1; i <= n; i++) { |
| scanf("%d%d", &up[i], &down[i]); |
| low[i] = 0; |
| high[i] = m + 1; |
| } |
| for (int i = 1; i <= k; i++) { |
| int h, l, p; |
| scanf("%d%d%d", &h, &l, &p); |
| low[h] = l; high[h] = p; pipe[h] = true; |
| } |
| int cnt = 0; |
| bool ok = true; |
| for (int i = 1; i <= n; i++) { |
| |
| int cur = i % 2, pre = 1 - cur; |
| for (int j = 0; j <= m; j++) dp[cur][j] = INF; |
| |
| for (int j = 0; j <= m; j++) { |
| int from = j - up[i]; |
| if (from > 0 && dp[pre][from] != INF) dp[cur][j] = min(dp[cur][j], dp[pre][from] + 1); |
| if (from > 0 && dp[cur][from] != INF) dp[cur][j] = min(dp[cur][j], dp[cur][from] + 1); |
| } |
| |
| if (high[i] == m + 1) { |
| for (int j = m - up[i]; j <= m; j++) { |
| if (dp[pre][j] != INF) dp[cur][m] = min(dp[cur][m], dp[pre][j] + 1); |
| if (dp[cur][j] != INF) dp[cur][m] = min(dp[cur][m], dp[cur][j] + 1); |
| } |
| } |
| |
| |
| for (int j = high[i] - 1; j >= low[i] + 1; j--) { |
| int from = j + down[i]; |
| if (from <= m && dp[pre][from] != INF) dp[cur][j] = min(dp[cur][j], dp[pre][from]); |
| } |
| |
| bool flag = false; |
| for (int j = low[i] + 1; j <= high[i] - 1; j++) { |
| if (dp[cur][j] != INF) { |
| flag = true; |
| break; |
| } |
| } |
| if (!flag) { |
| ok = false; |
| printf("0\n%d\n", cnt); |
| break; |
| } |
| if (pipe[i]) cnt++; |
| for (int j = 0; j <= low[i]; j++) dp[cur][j] = INF; |
| for (int j = high[i]; j <= m; j++) dp[cur][j] = INF; |
| } |
| if (ok) { |
| printf("1\n"); |
| int ans = INF; |
| for (int i = low[n] + 1; i <= high[n] - 1; i++) ans = min(ans, dp[n % 2][i]); |
| printf("%d\n", ans); |
| } |
| return 0; |
| } |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 【杂谈】分布式事务——高大上的无用知识?