nyoj過河問題

2021-08-27 05:56:51 字數 520 閱讀 2691

貪心思想

當 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人所需要的時間已知 而如果兩...