您的位置:首页 > 其它

过河问题

2016-04-18 13:19 405 查看
#include<iostream>
using namespace std;
int main()
{
int n, t[100], i, sum, t1, t2;
cout << "请输入需要过河的人数: ";
cin >> n;
cout << "请按升序排列的顺序依次输入每个人过河的时间: ";
for (i = 0; i < n; i++)
cin >> t[i];
if (n == 1)  //一人过河
sum = t[0];
else   // 多人过河
{
sum = 0;
while (1)
{
if (n == 2)  //剩两人
{
sum += t[1];
break;
}
else if (n == 3)//剩三人
{
sum += t[0] + t[1] + t[2];
break;
}
else
{
t1 = t[0] + t[1] + t[1] + t[n - 1];
t2 = t[0] + t[0] + t[n - 1] + t[n - 2];
sum += (t1 > t2 ? t2 : t1);
n -= 2;
}
}
}
cout << "最少需要的时间为: " << sum << endl;
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: