有一條豪華遊輪(其實就是條小木船),這種船可以執行4種指令:
right x : 其中x是乙個1到719的整數,這個命令使得船順時針轉動x度。
left x : 其中x是乙個1到719的整數,這個命令使得船逆時針轉動x度。 forward x : 其中x是乙個整數(1到1000),使得船向正前方前進x的距離。
backward x : 其中x是乙個整數(1到1000),使得船向正後方前進x的距離。
隨意的寫出了n個命令,找出乙個種排列命令的方法,使得船最終到達的位置距離起點盡可能的遠。
輸入格式:
第一行乙個整數n(1 <= n <= 50),表示給出的命令數。
接下來n行,每行表示乙個命令。
輸出格式:
乙個浮點數,能夠走的最遠的距離,四捨五入到6位小數。
輸入樣例#1:
3輸出樣例#1:forward 100
backward 100
left 90
141.421356貪心思想。命令可以隨意排列,那麼開場肯定是全軍突擊(誤),把所有前進指令都用完(走一半拐彎再走,肯定不如全程直走好),然後轉向,盡可能接近180°,再倒著走。
求最適合的轉向角度,我選擇偷懶暴搜。偷懶的結果就是50分,剩下50分t掉了。
1dfs正解是dp。懶得寫了,從rlt那裡抄了**233/*by silvern
*/2 #include3 #include4 #include5 #include6 #include7
using
namespace
std;
8const
int mxn=60;9
const
double pi=3.141592653;10
intread()
13while(ch>='
0' && ch<='9')
14return x*f;15}
16double
an[mxn];
17double
fw[mxn];
18double
nx,ny;
19int acnt=0,rcnt=0;20
double dist(double x1,double y1,double x2,double
y2)23
intn;
24double ans=0;25
double ttd=0;26
void dfs(int rk,double
now)
36 dfs(rk+1
,now);
37//
printf("%.5f\n",now+an[rk]);
38 dfs(rk+1,now+an[rk]);
39return;40
}41intmain()
51if(ch[0]=='b'
)54if(ch[0]=='l'
)59if(ch[0]=='r'
)63}64 ttd=0;65
for(i=1;i<=n;i++)
70 sort(an+1,an+acnt+1
);71 dfs(0,0
);72
//73
//74
/*printf(" %d\n",dgans);
75nx+=ttd*cos(dgans);
76ny+=ttd*sin(dgans);
*/77
//printf("%.4f %.4f\n",nx,ny);
78 printf("
%.6f\n
",ans);
79return0;
80 }
1 #include2 #include3 #include4 #include5正解dpusing
namespace
std;
6const
double pi=3.1415926535;7
int n,sf,sb,p,ang[55];8
double
ans;
9bool f[105][405
];10
intmain()
1127 f[0][0]=1;28
for(int i=1;i<=ang[0];i++)
29for(int j=0;j<360;j++)
30if(f[i-1
][j])
31 f[i][j]=1,f[i][(j+ang[i]+720)%360]=1
;32 p=180;33
for(int i=0;i<360;i++)
34if(f[ang[0
]][i])
35 p=min(p,abs(i-180
));36 ans=sqrt(sf*sf+sb*sb+2*sb*sf*cos(p*pi/180
));37 printf("
%.6f\n
",ans);
38return0;
39 }
洛谷 P2625 豪華遊輪
題目描述 有一條豪華遊輪 其實就是條小木船 這種船可以執行4種指令 right x 其中x是乙個1到719的整數,這個命令使得船順時針轉動x度。left x 其中x是乙個1到719的整數,這個命令使得船逆時針轉動x度。forward x 其中x是乙個整數 1到1000 使得船向正前方前進x的距離。b...
洛谷 P2625 豪華遊輪
題目描述 有一條豪華遊輪 其實就是條小木船 這種船可以執行4種指令 right x 其中x是乙個1到719的整數,這個命令使得船順時針轉動x度。left x 其中x是乙個1到719的整數,這個命令使得船逆時針轉動x度。forward x 其中x是乙個整數 1到1000 使得船向正前方前進x的距離。b...
P2625 豪華遊輪 揹包 dp ,數學
賊有意思的乙個題目。可以發現阻止我們走的更遠的就是那些需要反向走的路程。然後發現當角度越接近 180 circ 對我們最終的答案則更優。所以先是乙個揹包把可以達到的角度處理一下,然後再直接算就好了。卡精度。include define pi 3.141592653589 using namespac...