标签:
(用一个数组a[]存储某一天内需要住房的房间数, 因为你至少要满足需要在同一天住的人都有房间, 用maxn 存储需要的房间数 不断与a[i]比较)
输出一个整数,为满足所有定单要求的最少房间数。
3
3 10 4
4 9 3
3 12 6
7
1≤N≤10000 1≤A≤10,1≤B≤180, 1≤C≤10
1 #include<stdio.h> 2 #include<string.h> 3 #define N 30 4 #define max(a,b)(a > b? a : b) 5 6 typedef struct home //结构体存储更加方便; 7 { 8 int num; 9 int kaishi; 10 int end1; 11 } HOME; 12 13 int main() 14 { 15 HOME ch[10005]; 16 int n, i, j, maxn; 17 int a[200]; 18 while(scanf("%d", &n)!=EOF) 19 { 20 maxn = 0; 21 memset(a, 0, sizeof(a)); 22 for(i = 0; i < n; i++) 23 { 24 scanf("%d%d%d", &ch[i].num, &ch[i].kaishi, &ch[i].end1); 25 for(j = ch[i].kaishi; j<ch[i].kaishi+ch[i].end1; j++) //把第J天要住的房间数累加; 26 { 27 a[j] += ch[i].num; 28 maxn = max(a[j], maxn); 29 } 30 } 31 printf("%d\n", maxn); 32 } 33 34 return 0; 35 }
标签:
原文地址:http://www.cnblogs.com/yishilin/p/4471593.html