L2 1 拯救007(公升級版)

2021-09-13 02:34:46 字數 1756 閱讀 7505

l2-1 拯救007(公升級版) (25 分)

在老電影「007之生死關頭」(live and let die)中有乙個情節,007被毒販抓到乙個鱷魚池中心的小島上,他用了一種極為大膽的方法逃脫 —— 直接踩著池子裡一系列鱷魚的大腦袋跳上岸去!(據說當年替身演員被最後一條鱷魚咬住了腳,幸好穿的是特別加厚的靴子才逃過一劫。)

設鱷魚池是長寬為100公尺的方形,中心座標為 (0, 0),且東北角座標為 (50, 50)。池心島是以 (0, 0) 為圓心、直徑15公尺的圓。給定池中分布的鱷魚的座標、以及007一次能跳躍的最大距離,你需要給他指一條最短的逃生路徑 —— 所謂「最短」是指007要跳躍的步數最少。

首先第一行給出兩個正整數:鱷魚數量 n(≤100)和007一次能跳躍的最大距離 d。隨後 n 行,每行給出一條鱷魚的 (x,y) 座標。注意:不會有兩條鱷魚待在同乙個點上。

如果007有可能逃脫,首先在第一行輸出007需要跳躍的最少步數,然後從第二行起,每行給出從池心島到岸邊每一步要跳到的鱷魚的座標 (x,y)。如果沒可能逃脫,就在第一行輸出 0 作為跳躍步數。如果最短路徑不唯一,則輸出第一跳最近的那個解,題目保證這樣的解是唯一的。

17 15

10 -21

10 21

-40 10

30 -50

20 40

35 10

0 -10

-25 22

40 -40

-30 30

-10 22

0 11

25 21

25 10

10 10

10 35

-30 10

4

0 11

10 21

10 35

4 13

-12 12

12 12

-12 -12

12 -12

0
拿bfs做的,有乙個樣例沒過去,還有6分沒得到,希望以後能改過來

#include #define inf 0x3f3f3f3f

using namespace std;

typedef pairp;

typedef long long ll;

const int maxn = 100 + 10;

int n,dax,dax2,p[maxn],vis[maxn];

struct node

node(int id,int a,int b,int e):no(id),x(a),y(b),step(e) {}

bool operator <(const node & r)const

} mp[maxn];

//mapmp;

int bfs()

for(int i = 1; i <= n; i++)

}else if(dx * dx + dy * dy <= dax2)}}

return -1;

}int main()

sort(mp + 1,mp + n + 1);

for(int i = 1;i <= n;i++) mp[i].no = i;

int ans = bfs();

if(ans == -1) printf("0\n");

else

s.pop();

while(s.size())

}return 0;

}

7 5 拯救007(公升級版)(30 分)

在老電影 007之生死關頭 live and let die 中有乙個情節,007被毒販抓到乙個鱷魚池中心的小島上,他用了一種極為大膽的方法逃脫 直接踩著池子裡一系列鱷魚的大腦袋跳上岸去!據說當年替身演員被最後一條鱷魚咬住了腳,幸好穿的是特別加厚的靴子才逃過一劫。設鱷魚池是長寬為100公尺的方形,中...

24點(公升級版)

本24點 可以實現以下操作 查詢4個數經過 和 運算是否可得到nnn 支援僅查詢是否存在和查詢存在的算式 支援多組資料,每組資料結束後請按回車,當n 0 n 0n 0時結束 第一行乙個二進位制數g,0表示不輸出算式,1相反 輸入後過程中不可更改 接下來一行乙個數n nn然後下一行4個數,表示這些數參...

分糖果 5 0公升級版

題目描述 幼兒園裡有n個小朋友,lxhgww老師現在想要給這些小朋友們分配糖果,要求每個小朋友都要分到糖果。但是小朋友們也有嫉妒心,總是會提出一些要求,比如小明不希望小紅分到的糖果比他的多,於是在分配糖果的時候,lxhgww需要滿足小朋友們的k個要求。幼兒園的糖果總是有限的,lxhgww想知道他至少...