问题
输入样例
在这里给出一组输入。例如:
2 5
1 3 3
2 3 3
输出样例
在这里给出相应的输出。例如:
No
代码长度限制 16 KB
时间限制 400 ms
内存限制 64 MB
栈限制 8192 KB
代码
#include<stdio.h>
int main()
{int N,W,s,t,p;int arr_s[N]; // 存放s的数组int arr_t[N];int arr_p[N];scanf("%d %d",&N,&W);for(int i=0; i<N; i++){scanf("%d %d %d",&s,&t,&p);arr_s[i]=s;arr_t[i]=t;arr_p[i]=p;}int flag=1; //旗帜用于最后输出yes和nofor(int i=0; i<N; i++) // 外层遍历每一个数{int sum=0; // 用于存储重合时间段用户的总用水量 for(int j=0; j<N; j++){if((arr_s[i]>=arr_s[j] && arr_t[i]<=arr_t[j])|| (arr_s[i]<=arr_s[j] && arr_t[i]>=arr_t[j] )) // 2 3 含于1 5 1 5 包含 2 3{sum+=arr_p[j]; }else{if(arr_p[j]<=W){flag=1;}else{flag=0; break; // 用水量大于w 时,不再进行判断}}}if(sum<=W){flag=1;}else{flag=0;break;}}if(flag==1) printf("Yes");else printf("No");return 0;
}
运行
提交
以上仅供参考,如果觉得以上代码不够好,就请在评论区回复或者是私信。如果有哪里不懂的也可以评论区或者是私信我,一天8h在线。