解题思路:
注意事项:
参考代码:
#include <stdio.h>
#include <stdlib.h>
typedef struct node {
int start, end, t;
} node;
node s[30000];
int a[30000] = {0};
int cmp(const void *a, const void *b) {
node *nodeA = (node *)a;
node *nodeB = (node *)b;
return (nodeA->end - nodeB->end);
}
int main() {
int ant = 0;
int n, h;
scanf("%d %d", &n, &h);
for (int i = 0; i < h; i++) {
scanf("%d %d %d", &s[i].start, &s[i].end, &s[i].t);
}
qsort(s, h, sizeof(node), cmp);
for (int i = 0; i < h; i++) {
int sum = 0;
for (int j = s[i].end - 1; j >= s[i].start - 1; j--) {
if (a[j] == 1) sum++;
}
if (sum >= s[i].t) continue;
for (int j = s[i].end - 1; j >= s[i].start - 1; j--) {
if (a[j] != 1) {
a[j] = 1;
sum++;
ant++;
}
if (sum == s[i].t) break;
}
}
printf("%d\n", ant);
return 0;
}
0.0分
5 人评分
【密码】 (C语言代码)浏览:1022 |
C语言程序设计教程(第三版)课后习题8.7 (C语言代码)浏览:721 |
C语言程序设计教程(第三版)课后习题7.2 (C语言代码)浏览:519 |
人见人爱A+B (C++代码)浏览:1069 |
gets函数前有scanf读取时候,会读取缓存回车导致出错!!!浏览:1148 |
C语言程序设计教程(第三版)课后习题7.2 (C语言代码)浏览:1175 |
C语言程序设计教程(第三版)课后习题10.3 (C语言代码)浏览:711 |
矩阵转置 (C语言代码)浏览:1565 |
剔除相关数 (C语言代码)浏览:1058 |
C语言程序设计教程(第三版)课后习题10.5 (C语言代码)浏览:1485 |