参考代码:
#include <stdio.h>
#include <stdbool.h>
#include <math.h>
int vi[10],f[10];
typedef struct {
int Ti; // 到达时间
int Di; // 盘旋时间
int Li; // 降落时间
} plane;
plane planes[100];
bool dfs(int rt,int n,int N) {
for (int i = 0; i < N; i++) {
if (vi[i]==0) {
if(rt <= planes[i].Ti + planes[i].Di) {
vi[i]=1;
if (n == N-1) return true; // 所有飞机都已安排降落
int t;
if(rt<=planes[i].Ti) t=planes[i].Ti+planes[i].Li;
else t=rt+planes[i].Li;
if(dfs(t,n+1,N)==1) {
return true;
}
vi[i]=0;
}
}
}
return false; // 无法安排降落
}
int main() {
int N,m,a[10]; // n飞机数量,m组数
scanf("%d", &m);
bool dfs(int rt,int n,int N);
for(int i=0; i<m; i++) {
scanf("%d", &N);
for (int j = 0; j < N; ++j) {
scanf("%d %d %d", &planes[j].Ti, &planes[j].Di, &planes[j].Li);
}
if (dfs(0,0,N)==true) printf("YES\n");
else printf("NO\n");
for(int j = 0; j < N; ++j) {
vi[j]=0;
}
}
return 0;
}
0.0分
1 人评分
Tom数 (C语言代码)浏览:784 |
点我有惊喜!你懂得!浏览:1274 |
点我有惊喜!你懂得!浏览:2248 |
陶陶摘苹果 (C语言代码)浏览:1652 |
C语言程序设计教程(第三版)课后习题11.5 (C语言代码)浏览:932 |
C语言程序设计教程(第三版)课后习题6.1 (C语言代码)浏览:702 |
C语言程序设计教程(第三版)课后习题5.6 (C语言代码)浏览:563 |
2006年春浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:674 |
C语言程序设计教程(第三版)课后习题9.6 (C语言代码)浏览:388 |
母牛的故事 (C语言代码)浏览:594 |