題目鏈結
題意:給定此時的時間
再給定n個鐘錶上的其他時間
問從此刻的時間開始,將這n個鐘錶上所有時間都走完一遍時,秒針轉過的最小角度
思路:只存在四種情況:
①只順時針走
②只逆時針走
③先順時針走再逆時針走
④先逆時針走再順時針走
模擬即可,剛開始模擬寫的超級複雜。。。乙個勁地wa…後來改了寫法,簡單了很多而且特別容易想明白
記錄此刻的時間到每乙個給定時間的順時針走的角度
從大到小排序
相應的逆時針走的角度也可以表示出來。
然後 只順時針或只逆時針簡單,這裡省略 不解釋啦
先順時針再逆時針則是 遍歷到達每個點
到達第i個點順時針走的距離2+到達第i+1個點逆時針走的距離
先逆時針再順時針則是 遍歷到達每個點
到達第i個點逆時針走的距離2+到達第i-1個點順時針走的距離
上述過程不斷更新最小值即可
**:
#include
using namespace std;
typedef
long
long ll;
const ll maxn =
87000
;ll shun[maxn]
;int
main()
sort
(shun +
1, shun + n +1)
; ll minn =
360*60*
12+1000000
; shun[n +1]
=360*60
*12, shun[0]
=360*60
*12; minn =
min(minn, shun[n]);
minn =
min(minn,
360*60*
12- shun[1]
);//for(i=1;i)
for(ll i =
1; i <= n; i++
)for
(ll i =
1; i <= n; i++
)printf
("%lld.00\n"
, minn);}
}
HDU 5635 思維想法題
peter has a string s s1s2.sn,let suffi sisi 1.sn be the suffix start with i th character of s.peter knows the lcp longest common prefix of each two ad...
HDU 5983 模擬魔方 模擬
題意是說給定乙個 2 2 魔方的各個面的情況,問是否能轉動不超過一次使得魔方復原。思路是先在輸入的時候統計一下已完成的面數,要想以最多一次的轉動使得魔方復原,那麼已完成的面數只能是 2 面或者 6 面,此處可剪枝。若已完成 6 面,那麼一定可以復原 若已完成 2 面,則要用一次轉動完成其他六面,開始...
hdu4415 不錯的想法題
題意 乙個人他有一定的血,有一些怪物,他去殺怪物,有的怪物殺死他後還可以在不費自己血的情況下任意殺死一些怪物,問你他最多殺死多少怪物,在最多殺怪前提下最好用多少血,大體題意是這樣 思路 首先我們把怪物分成兩個集合,a乙個是殺死他後可以免費殺死其他人的,b另乙個是殺死他後不能免費殺死其他人的,分析下我...