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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

愤怒的小鸟(爆搜,剪枝)

發(fā)布時間:2025/6/17 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 愤怒的小鸟(爆搜,剪枝) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

題目描述

Kiana?最近沉迷于一款神奇的游戲無法自拔。

簡單來說,這款游戲是在一個平面上進行的。

有一架彈弓位于?(0,0)(0,0)?處,每次?Kiana?可以用它向第一象限發(fā)射一只紅色的小鳥,小鳥們的飛行軌跡均為形如?y=ax^2+bxy=ax2+bx?的曲線,其中?a,ba,b?是Kiana?指定的參數(shù),且必須滿足?a < 0a<0?,?a,ba,b?都是實數(shù)。

當小鳥落回地面(即?xx?軸)時,它就會瞬間消失。

在游戲的某個關(guān)卡里,平面的第一象限中有?nn?只綠色的小豬,其中第?ii?只小豬所在的坐標為?\left(x_i,y_i \right)(xi?,yi?)?。

如果某只小鳥的飛行軌跡經(jīng)過了?\left( x_i, y_i \right)(xi?,yi?)?,那么第?ii?只小豬就會被消滅掉,同時小鳥將會沿著原先的軌跡繼續(xù)飛行;

如果一只小鳥的飛行軌跡沒有經(jīng)過?\left( x_i, y_i \right)(xi?,yi?)?,那么這只小鳥飛行的全過程就不會對第?ii?只小豬產(chǎn)生任何影響。

例如,若兩只小豬分別位于?(1,3)(1,3)?和?(3,3)(3,3)?,Kiana?可以選擇發(fā)射一只飛行軌跡為?y=-x^2+4xy=?x2+4x?的小鳥,這樣兩只小豬就會被這只小鳥一起消滅。

而這個游戲的目的,就是通過發(fā)射小鳥消滅所有的小豬。

這款神奇游戲的每個關(guān)卡對?Kiana來說都很難,所以Kiana還輸入了一些神秘的指令,使得自己能更輕松地完成這個游戲。這些指令將在【輸入格式】中詳述。

假設(shè)這款游戲一共有?TT?個關(guān)卡,現(xiàn)在?Kiana想知道,對于每一個關(guān)卡,至少需要發(fā)射多少只小鳥才能消滅所有的小豬。由于她不會算,所以希望由你告訴她。

輸入輸出格式

輸入格式:

第一行包含一個正整數(shù)?TT?,表示游戲的關(guān)卡總數(shù)。

下面依次輸入這?TT?個關(guān)卡的信息。每個關(guān)卡第一行包含兩個非負整數(shù)?n,mn,m?,分別表示該關(guān)卡中的小豬數(shù)量和 Kiana 輸入的神秘指令類型。接下來的?nn?行中,第?ii?行包含兩個正實數(shù)?x_i,y_ixi?,yi??,表示第?ii?只小豬坐標為?(x_i,y_i)(xi?,yi?)?。數(shù)據(jù)保證同一個關(guān)卡中不存在兩只坐標完全相同的小豬。

如果?m=0m=0?,表示Kiana輸入了一個沒有任何作用的指令。

如果?m=1m=1?,則這個關(guān)卡將會滿足:至多用?\lceil n/3 + 1 \rceil?n/3+1??只小鳥即可消滅所有小豬。

如果?m=2m=2?,則這個關(guān)卡將會滿足:一定存在一種最優(yōu)解,其中有一只小鳥消滅了至少?\lfloor n/3 \rfloor?n/3??只小豬。

保證?1\leq n \leq 181n18?,?0\leq m \leq 20m2?,?0 < x_i,y_i < 100<xi?,yi?<10?,輸入中的實數(shù)均保留到小數(shù)點后兩位。

上文中,符號?\lceil c \rceil?c??和?\lfloor c \rfloor?c??分別表示對?cc?向上取整和向下取整,例如:?\lceil 2.1 \rceil = \lceil 2.9 \rceil = \lceil 3.0 \rceil = \lfloor 3.0 \rfloor = \lfloor 3.1 \rfloor = \lfloor 3.9 \rfloor = 3?2.1?=?2.9?=?3.0?=?3.0?=?3.1?=?3.9?=3?。

輸出格式:

對每個關(guān)卡依次輸出一行答案。

輸出的每一行包含一個正整數(shù),表示相應(yīng)的關(guān)卡中,消滅所有小豬最少需要的小鳥數(shù)量。

思路:

沒什么好說的。。。只能%%一群狀壓大佬

我是這么想的,一個豬被打掉,要么是單獨的一只小鳥干的

要么是被一只路過的小鳥干的

那么,在經(jīng)過一個沒有被打掉的豬的時候,將這個豬與其他沒有打掉的豬嘗試配對

算出一條拋物線,看這條路上能打掉幾只豬,并打標記

當然,也可以不算拋物線,默認用一只鳥打掉

加一個最優(yōu)化剪枝即可

(ps 注意精度)

代碼:

#include<iostream> #include<cstdio> #include<algorithm> #include<cstring> #include<cmath> #define rii register int i #define rij register int j #define inf 19260817 #define eps 0.0000001 using namespace std; int n,m,t,ans; struct pw{double a,b; }pwx[20]; struct pig{double x,y; }zb[20]; double bjx[20],bjy[20]; inline pw echs(int wz,int i) {pw an;double lzn=zb[wz].x;double rxz=zb[wz].y;double ltt=(rxz*bjx[i]-bjy[i]*lzn);ltt/=(lzn*lzn*bjx[i]-bjx[i]*bjx[i]*lzn);double kkk=(rxz-lzn*lzn*ltt)/lzn;an.a=ltt;an.b=kkk;return an; } void dfs(int wz,int sl,int sy) {if(sl+sy>=ans){return;}if(wz>=n+1){ans=sl+sy;return;}int pd=0;for(rii=1;i<=sl;i++){if(fabs(pwx[i].a*zb[wz].x*zb[wz].x+pwx[i].b*zb[wz].x-zb[wz].y)<=eps){dfs(wz+1,sl,sy);pd=1;break;}}if(pd!=1){for(rii=1;i<=sy;i++){if(fabs(zb[wz].x-bjx[i])<eps){continue;}pw kk=echs(wz,i);if(kk.a<0){ pwx[sl+1]=kk;double ltt=bjx[i];double kkk=bjy[i];for(rij=i;j<sy;j++){bjx[j]=bjx[j+1];bjy[j]=bjy[j+1];}dfs(wz+1,sl+1,sy-1);for(rij=sy;j>i;j--) {bjx[j]=bjx[j-1];bjy[j]=bjy[j-1];}bjx[i]=ltt;bjy[i]=kkk;}}bjx[sy+1]=zb[wz].x;bjy[sy+1]=zb[wz].y;dfs(wz+1,sl,sy+1);} } int main() {scanf("%d",&t);for(rii=1;i<=t;i++){scanf("%d%d",&n,&m);for(rij=1;j<=n;j++){scanf("%lf%lf",&zb[j].x,&zb[j].y);}ans=inf;dfs(1,0,0);printf("%d\n",ans); } }

?

轉(zhuǎn)載于:https://www.cnblogs.com/ztz11/p/9401434.html

總結(jié)

以上是生活随笔為你收集整理的愤怒的小鸟(爆搜,剪枝)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 美女隐私无遮挡免费 | 亚洲一区二区三区欧美 | av手机天堂| 视频一区 中文字幕 | 国产在线一区二区三区四区 | 亚洲精品久久久中文字幕痴女 | 精品人妻午夜一区二区三区四区 | 五月天精品在线 | www.youjizz.com中国 | 日本综合色 | 日日射夜夜 | 国产91丝袜 | 亚洲综合一区中 | 婷婷一区二区三区四区 | 日韩欧美国产视频 | 久操视频在线观看 | 九九视频在线播放 | 欧美福利一区二区 | 白浆一区| 日本不卡视频一区二区 | av不卡一区二区三区 | 国产精品高潮呻吟久久aⅴ码 | 亚洲成a人片 | 欧美怡红院一区二区三区 | 国产福利在线观看 | 国产欧美视频在线观看 | 91久色视频| 久久一二三区 | 欧美日韩国产成人在线 | 久人人| 奇米影视在线观看 | 日韩毛片在线 | 久久国产夫妻 | 国产精品三区四区 | 成人亚洲精品久久久久软件 | 女生扒开尿口给男生捅 | 欧美大片免费高清观看 | 色偷偷在线观看 | 美女插插视频 | 91超碰国产在线 | 肉体粗喘娇吟国产91 | www嫩草| 国产欧美日韩综合精品一区二区三区 | 亚洲精品无码不卡在线播he | 亚洲一区二区三区网站 | 自拍偷拍p | 久久丝袜美腿 | 男女做网站 | 91精品国产综合久久久久 | 免费成人av在线播放 | 亚洲美女网站 | 日韩精品一二三四区 | 国产激情四射 | 国产又粗又大又长 | 日韩一区二区在线免费观看 | 国产精品无码网站 | 日本高清久久 | 国产一级黄色大片 | 久久r这里只有精品 | 欧美激情影音先锋 | 欧美黑人又粗又大高潮喷水 | 国产麻豆一区二区 | 国产免费黄网站 | 亚洲自拍第三页 | 夜夜操天天操 | 国产综合欧美 | 91爽爽 | 久久久久久久久久91 | 黄色福利在线观看 | 亚洲小视频在线观看 | 欧美一区二区三区在线观看 | 婷婷俺去也 | 亚洲精品免费电影 | 99在线免费观看 | 久久综合久 | 视频区小说区图片区 | 欧美成人二区 | 成人免费视频国产 | 亚洲二三区 | 亚洲欧美综合另类 | 农民人伦一区二区三区 | 一级全黄男女免费大片 | 99视频精品| 在线 日本 制服 中文 欧美 | 日韩三级在线播放 | 亚洲精品一卡 | 国产在线拍揄自揄拍 | 久久久穴 | 欧美韩日国产 | 69视频在线播放 | 久九九| 久久国产劲爆∧v内射 | 啪啪一区二区 | 亚洲欧洲精品一区二区 | 国产成人一区二区三区视频 | 在线国产日韩 | 国产精品美女久久久免费 | 天天综合网久久综合网 | 欧美另类69 |