测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

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。

上一题 下一题