社区讨论
通过不了,但可以通过案例,怎么解决,求助各位大佬
P9241[蓝桥杯 2023 省 B] 飞机降落参与者 2已保存回复 6
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 6 条
- 当前快照
- 1 份
- 快照标识符
- @ltg06wki
- 此快照首次捕获于
- 2024/03/07 00:18 2 年前
- 此快照最后确认于
- 2024/03/07 15:52 2 年前
CPP
#include<iostream>
#include<cstring>
using namespace std;
int main()
{
int i,j,k,T,n,itemp,time=0;
bool dp=true;
int t[100001],d[100001],l[100001],b[100001];
char p[10][4];
cin >> T >> n;
for( k=0; k<T; k++ ) {
// b[i]是第i架飞机一定要起飞的时间
for( i=0; i<n; i++ ) {
cin >> t[i] >> d[i] >> l[i];
b[i]=t[i]+d[i];
}
//对b[i]开始排序,把最早起飞的时间放在开头,还有把对应的降落时间排序
for( i=0; i<n; i++ ) {
for( j=n-1; j>i; j-- ) {
if( b[j]<b[j-1] ) {
itemp=b[j];
b[j]=b[j-1];
b[j-1]=itemp;
itemp=l[j];
l[j]=l[j-1];
l[j-1]=itemp;
}
}
}
//如果积累的时间大于下一个飞机起飞的时间,就错
for( i=0; i<n-1; i++ ) {
time+=l[i];
if( time>b[i+1] ) {
dp=false;
}
}
if( dp==true ) {
strcpy(p[k], "YES");
}
else{
strcpy(p[k], "NO");
}
}
for( i=0; i<T; i++ ) {
cout << p[i] << endl;
}
return 0;
}
回复
共 6 条回复,欢迎继续交流。
正在加载回复...