日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

北邮OJ 102. 最远距离 北邮2012网研院复试上机题

發布時間:2024/9/30 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 北邮OJ 102. 最远距离 北邮2012网研院复试上机题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

102. 最遠距離

時間限制1000 ms???? 內存限制 65536 KB????

題目描述

正義的伙伴褋祈和葬儀社的機器人Fuyuneru正在被邪惡的GHQ部隊追殺。眼看著快要逃不掉了,祈就把重要的東西塞到了機器人體內,讓它先跑,自己吸引火力。

假設Fuyuneru帶上東西開始逃跑時所處的點為原點,朝向為正北。操縱FuyuNeru的指令有如下四種:

right X: X是1-359之間的整數,Fuyuneru的前進方向順時針轉X度。

left X: X是1-359之間的整數,Fuyuneru的前進方向逆時針轉X度。

forward X: X是整數(0<=X<=1000),Fuyuneru向當前朝向前進X米。

backward X: X是整數(0<=X<=1000),Fuyuneru向當前朝向后退X米。

現在祈向Fuyuneru體內輸入了N(1<=N<=50)個這樣的指令??墒怯捎诖饲癋uyuneru被GHQ部隊擊中,它出了一點小問題:這N個指令執行的順序是不確定的。

問:Fuyuneru最遠可能逃出多遠?

即,Fuyuneru在執行完N條指令之后,距離原點最遠的可能距離是多少?

輸入格式

第一行是一個整數T,代表測試數據有T組。

每組測試數據中,第一行是一個整數N,代表指令有N條;

隨后緊跟N行,每一行代表一個指令(格式保證是上述四種中的一種,數據保證合法)

輸出格式

對于每組數據,輸出一行:最遠的可能逃亡距離,精確到小數點后3位。

輸入樣例

3 3 forward 100 backward 100 left 90 4 left 45 forward 100 right 45 forward 100 6 left 10 forward 40 right 30 left 10 backward 4 forward 4

輸出樣例

141.421 200.000 40.585

?

最遠距離為,向前走之后,找到一個向后走的時候向前走的方向盡可能處在180°上的方向。

比如,向前走100米,然后向右轉180°,然后向后走100米,然后隨意旋轉,這樣就距離起點最遠,200米。

所以問題轉化為,找到一種旋轉組合,使得盡可能旋轉180°。

然后利用a^2+b^2-2abcosC=c^2求出最遠距離

?

對于求出旋轉角度組合,設向右為正,假設輸入順序:60°,30°,10°,等等

我們讀入60°的時候,從(0+60°)-(360°+60°)開始枚舉,首先標記60°為訪問過,vis[60]=1,即我們可以旋轉出60°這個角度來,然后訪問余下的角度,如果訪問過x°,if(vis[x]==1),那么我們標記x+60°為也訪問過,即x+60°這個角度也是可以被訪問到的,vis[x+60]=1。

比如,當我們按順序第二個讀入30°的時候,vis[30]=1,在(0+60°)-(360°+60°)枚舉的過程中,枚舉到30°+30°的時候,因為vis[30+30]==1,所以,vis[60+30]=1。

然后我們只要不斷更新,最接近180的vis[],然后計算即可。

?

?

#include<iostream> #include<algorithm> #include<cstring> #include<cstdlib> #include<cstdio> #include<cmath> #include<set> #define Pi acos(-1.0) using namespace std;double dis(double a,double b,double Ang) {return sqrt(a*a+b*b-2*a*b*cos(Ang/180*Pi)); }int main() {int i,j,t,n,vis[360],val,minA,rec[360];//minA是和180°最接近的角度,vis用來記錄是否可以到達該角度,rec用來記錄當前角度是否被使用過multiset<int>turn; //來存旋轉角度,向右為正int up,down; //前進和后退string s;for(cin>>t;t--;){turn.clear();up=down=0;memset(vis,0,sizeof vis);for(cin>>n;n--;){cin>>s>>val;if(s=="forward")up+=val;else if(s=="backward")down+=val;else{if(s=="right")turn.insert(val);else turn.insert(360-val);}}multiset<int>::iterator it;vis[0]=1;for(it=turn.begin();it!=turn.end();it++){//printf("it:%d\n",*it);memset(rec,0,sizeof rec);for(i=0;i<360;i++){int tmp=(i+*it)%360;if(rec[i]==0&&(vis[i])&&vis[tmp]==0){vis[tmp]=rec[tmp]=1;}}}minA=180; //防止沒有旋轉指令for(i=0;i<360;i++)if(vis[i])if(abs(180-i)<minA)minA=abs(180-i);//printf("minA:%d\n",minA);printf("%.3lf\n",dis(up,down,180-minA));}return 0; }


?

?

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的北邮OJ 102. 最远距离 北邮2012网研院复试上机题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧美日本色图 | 久久综合精品国产二区无码不卡 | 水果派解说av | 精品国产区一区二 | 九色国产 | 婷婷深爱五月 | 色偷偷综合 | 色免费视频 | 青青青视频免费 | 香蕉视频ap | 狠狠成人 | 欧美乱码精品一区二区三区 | 我和公激情中文字幕 | 免费福利视频在线观看 | 国产精品国产三级国产传播 | 少妇精品亚洲一区二区成人 | 宇都宫紫苑在线播放 | 99久久婷婷国产一区二区三区 | 天堂91| 成人教育av在线 | av在线片 | 国产又粗又猛又黄又爽 | 亚洲欧美激情在线观看 | 无码乱人伦一区二区亚洲 | 欧美三级又粗又硬 | 欧美人伦 | 美女搞黄在线观看 | 天天摸天天做天天爽水多 | 新亚洲天堂 | 黄色美女视频网站 | 波多野结衣一区二区三区高清 | 18男女无套免费视频 | 高清性爱视频 | 色吧综合网 | 福利片第一页 | 欧美美女性生活 | 免费观看a毛片 | 国产麻豆一区二区三区在线观看 | 男女av网站 | 99riav在线 | 射死你天天日 | 精品久久久久久久 | 奇米久久久 | 久久77| 91网站在线免费看 | 精品一区二区三区四区五区六区 | 寡妇av | 青青久视频 | 午夜伊人网 | 国产成年无码久久久久毛片 | 国产一区二区三区视频播放 | 乱子伦一区二区三区 | 午夜剧场福利 | 欧美欧美欧美 | 精品视频三区 | 黄网在线播放 | 成年人免费黄色片 | 日韩av免费网址 | 俄罗斯美女一级爱片 | 91操人视频 | 国产激情一区二区三区在线观看 | 私密视频在线观看 | 永久在线观看 | 怡红院av在线 | 五月婷婷六月丁香 | 亚洲国产成人精品久久 | 免费看日产一区二区三区 | 国产愉拍 | 视频一区二区欧美 | 粉豆av| www久久久com| 高清免费视频日本 | 午夜在线免费观看视频 | 成人免费毛片男人用品 | 国产黄大片在线观看画质优化 | 欧美视频在线观看视频 | 精品久久久久一区 | 国产56页 | 亚洲av综合永久无码精品天堂 | 欧美美女啪啪 | 日韩成人av免费在线观看 | 日韩精品亚洲一区 | 久啪视频| 一个色综合久久 | 精品欧美一区二区久久久久 | 黑名单上的人全集免费观看 | 国产精品天天狠天天看 | 91av久久| 日韩制服诱惑 | 国产黄色一级网站 | 超碰国产一区二区三区 | 超污巨黄的小短文 | 国产免费不卡视频 | 日韩av高清在线播放 | 成人看片在线 | 成片免费观看视频大全 | 欧美精品第1页 | 国产乱码精品一区二区三区中文 | 国产做爰高潮呻吟视频 |