A17160. 物资运输路线筛选(循环 + 条件嵌套)
填空题
中等
知识点
题目描述
物资运输路线筛选(循环 + 条件嵌套)
题目描述
红军运输队需从甲地到乙地,有 N 条备选路线,每条路线有路程(公里)和危险等级(1-5,1 最安全)两个参数。筛选规则:
优先选危险等级≤2 的路线;
符合安全条件中,选路程最短的路线;
若没有安全路线,输出 -1。
输入格式
第一行:整数 N(1 ≤ N ≤ 10)
接下来 N 行:每行两个整数 路程 危险等级
输出格式
一个整数,最优路程或 -1
参考答案
#include <iostream>
#include <climits>
using namespace std;
int main() {
int n;
cin >> n;
int min_dist = INT_MAX;
for (int i = 0; i < n; i++) {
int d, r;
cin >> d >> r;
if (r <= 2 && d < min_dist) {
min_dist = d;
}
}
if (min_dist == INT_MAX) cout << -1 << endl;
else cout << min_dist << endl;
return 0;
}答案解析
读取路线总数N;初始化最短路程为一个较大值,设置标志位记录是否存在安全路线;循环读取每条路线的路程和危险等级;判断危险等级是否小于等于2;若满足安全条件,比较其路程是否更短,更新最短路程并标记存在安全路线;循环结束后,检查标志位;若存在安全路线,输出记录的最短路程,否则输出-1。
上一题
下一题