當 n == 1 是 時間a[1];
當n == 2時 時間是a[1] + a[2];
當 n == 3時 時間是 a[1] + a[2] + a[3];
當 n == 4時 可以有兩種方法
1 用最小的運送兩個最大的,然後再回來運送最後乙個人了;
2 將兩個最小的先運送過去,在返回運送兩個最大的;
所以可以遞迴下去;
**如下
#include #define maxn 100005
typedef long long ll;
using namespace std;
ll a[maxn];
ll loop(ll n)
return 0;
}int main()
sort(a+1,a+n+1);
cout << loop(n) << endl;
}return 0;
}
貪心 nyoj 過河問題
思路 一 當只有乙個人時,t 此人過河所需要花的時間 二 當有兩個人時,t 走得比較慢的那個人單獨行動時所需的時間 三 當有三個人時,最快的和最慢的先過 t3 最快的回來 t1 最快的和中間那個一起走 t2 所以總時間為t t1 t2 t3 四 當有四個人時,分兩種情況 四個人的時間已從小到大排列,...
nyoj 47 過河問題
時間限制 1000 ms 記憶體限制 65535 kb 難度 5 描述 在漆黑的夜裡,n位旅行者來到了一座狹窄而且沒有護欄的橋邊。如果不借助手電筒的話,大家是無論如何也不敢過橋去的。不幸的是,n個人一共只帶了乙隻手電筒,而橋窄得只夠讓兩個人同時過。如果各自單獨過橋的話,n人所需要的時間已知 而如果兩...
NYOJ 47 過河問題
時間限制 1000 ms 記憶體限制 65535 kb 難度 5 描述 在漆黑的夜裡,n位旅行者來到了一座狹窄而且沒有護欄的橋邊。如果不借助手電筒的話,大家是無論如何也不敢過橋去的。不幸的是,n個人一共只帶了乙隻手電筒,而橋窄得只夠讓兩個人同時過。如果各自單獨過橋的話,n人所需要的時間已知 而如果兩...