NYOJ 47 過河問題

2021-07-15 10:53:09 字數 885 閱讀 3836

分析可知(從小到大排序後)

過橋比較省時間的方法有兩種

1、a[0] a[1]先過a[0]回

a[n] a[n-1]過 a[1]回

則總時間a[1]+a[0]+a[n]+a[1]

2、a[0]帶a[n]過a[0]回

a[0]帶a[n-1]過a[0]回

則總時間a[n]+a[0]+a[n-1]+a[0]

區別在與a[1]+a[1]與a[n-1]+a[0]

兩者應該去更小的那一種方法

所以可以兩兩考慮

把最大的兩個送過橋

當最後三人以下時

剩三人

則a[0]帶a[2]過a[0]回

a[0]與a[1]過

總時間 a[2]+a[0]+a[1]

剩兩人

a[0]與a[1]過

總時間a[1]

剩1人(說明總人數只有一人)

總時間a[0]

#include

#include

using

namespace

std;

int a[1200];

int main()

if(i==2)

printf("%d\n",sum+a[0]+a[1]+a[2]);

else

if(i==1)

printf("%d\n",sum+a[1]);

else

printf("%d\n",sum+a[0]);

}return

0;}

nyoj 47 過河問題

時間限制 1000 ms 記憶體限制 65535 kb 難度 5 描述 在漆黑的夜裡,n位旅行者來到了一座狹窄而且沒有護欄的橋邊。如果不借助手電筒的話,大家是無論如何也不敢過橋去的。不幸的是,n個人一共只帶了乙隻手電筒,而橋窄得只夠讓兩個人同時過。如果各自單獨過橋的話,n人所需要的時間已知 而如果兩...

NYOJ 47 過河問題

時間限制 1000 ms 記憶體限制 65535 kb 難度 5 描述 在漆黑的夜裡,n位旅行者來到了一座狹窄而且沒有護欄的橋邊。如果不借助手電筒的話,大家是無論如何也不敢過橋去的。不幸的是,n個人一共只帶了乙隻手電筒,而橋窄得只夠讓兩個人同時過。如果各自單獨過橋的話,n人所需要的時間已知 而如果兩...

nyoj 47 過河問題

時間限制 1000 ms 記憶體限制 65535 kb 難度 5 描述 在漆黑的夜裡,n位旅行者來到了一座狹窄而且沒有護欄的橋邊。如果不借助手電筒的話,大家是無論如何也不敢過橋去的。不幸的是,n個人一共只帶了乙隻手電筒,而橋窄得只夠讓兩個人同時過。如果各自單獨過橋的話,n人所需要的時間已知 而如果兩...