游戏题。我自己在写大式子转移,自己晕头转向。hzw提醒我先预处理所有在同一线上的猪。然后将所有可能出现的打架状态进行枚举转移。先忘了处理除数是0,挂了一个点。

#include<iostream>
#include<algorithm>
#include<stdio.h>
#include<string.h>
#include<math.h>
using namespace std;
const int maxn=(1<<20);
const double ex=1e-9;
int n,m,num,cnt;
int f[maxn],bir[maxn];//bir[],一只鸟可以打哪些猪
struct node{double x,y;
}p[20];
node find(int i,int j){node ans;double X1=p[i].x,Y1=p[i].y,X2=p[j].x,Y2=p[j].y;if(fabs(X1-X2)<ex){ans.x=1;return ans;}ans.x=(Y2-Y1*X2/X1)/(X2*X2-X1*X2); //除数要判0!!! ans.y=Y1/X1-ans.x*X1;return ans;
}
bool inlin(node l,node p){//点P是否在线l 上double y=l.x*p.x*p.x+l.y*p.x;if(fabs(y-p.y)<ex)return true;return false;
}
void pre(){//处理1只鸟可以同时打哪些猪 for(int i=0;i<n;i++)for(int j=i+1;j<n;j++){node tmp;tmp=find(i,j);if(fabs(tmp.x)<ex)continue;if(tmp.x>=0)continue ;//这两只猪没法一起打bir[++cnt]=(1<<i)|(1<<j);for(int k=j+1;k<n;k++)if(inlin(tmp,p[k])){bir[cnt]|=(1<<k); }}
}int dp(){memset(f,63,sizeof(f));f[0]=0;for(int i=0;i<num;i++)//1代表打了的猪,0代码没打 for(int j=0;j<=cnt;j++)f[i|bir[j]]=min(f[i|bir[j]],f[i]+1);return f[num-1];
}
int main(){int T;scanf("%d",&T);while(T--){scanf("%d%d",&n,&m);for(int i=0;i<n;i++){ scanf("%lf%lf",&p[i].x,&p[i].y);bir[i]=(1<<i); }cnt=n-1; num=(1<<n);pre();int tmp=dp();    printf("%d\n",tmp);}
}

愤怒的小鸟noip2017dayt3相关推荐

  1. 你当年没玩好的《愤怒的小鸟》,AI现在也犯难了

    (图片源自百度百科) 作者 | Ekaterina Nikonova,Jakub Gemrot 译者 | Tianyu 出品 | AI科技大本营(ID:rgznai100) 现在说起<愤怒的小鸟 ...

  2. Python游戏开发,pygame模块,Python实现愤怒的小鸟【附带源码】

    前言 这次带大家仿写个之前有段时间比较火的愤怒的小鸟小游戏呗. 废话不多说,让我们愉快地开始吧~ 开发工具 **Python版本:**3.6.4 相关模块: pygame模块: 以及一些python自 ...

  3. 愤怒的小鸟素材包_点映预售开启|愤怒的小鸟2搞笑升级,萌贱无敌!

    8月10日&8月11日 电影<愤怒的小鸟2>即将超前点映! 碑林店 8月10日 14:50 高新店 8月10日 14:10 大明宫店 8月10日 14:20 民乐园店 8月10日/ ...

  4. 《愤怒的小鸟》对移动互联网经营的启示

    <愤怒的小鸟>从2009年12月登陆苹果iOS平台后,仅用了1年多的时间,就变成了风靡全球的一款力作.据统计,<愤怒的小鸟>在苹果App Store累计付费下载1300万次,产 ...

  5. 愤怒的小鸟【$DP$优化】

    卡常的状压\(DP\),愤怒的小鸟. 其实本来是个很水的状压\(DP\),但因为最后三个点\(n=18\),成功地把我的不可能达到的下界为\(\Omega(2^nn^2)\),紧确的上界为\(O(2^ ...

  6. Unity3D游戏-愤怒的小鸟游戏源码和教程(二)

    Unity愤怒的小鸟游戏教程(二) 本文提供全流程,中文翻译. Chinar坚持将简单的生活方式,带给世人! (拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) AngryEva游戏 ...

  7. Unity3D笔记 愤怒的小鸟一场景切换

    新建3个场景,场景1 Start 十秒后自动切换到场景2 Splash,场景2在二秒后自动切换到场景3 Selection 一.场景一Start 二.场景2 Splash 三.场景3 Selectio ...

  8. 100万“愤怒的小鸟”:中国手机开发者生存调查

    2019独角兽企业重金招聘Python工程师标准>>> 在很多投身这一行业的开发者心中,都怀揣着一夜成名的梦想,希望有一天能做出像<水果忍者>.<愤怒的小鸟> ...

  9. Noip 2016 愤怒的小鸟 题解

    [NOIP2016]愤怒的小鸟 时间限制:1 s   内存限制:256 MB [题目描述] Kiana最近沉迷于一款神奇的游戏无法自拔. 简单来说,这款游戏是在一个平面上进行的. 有一架弹弓位于(0, ...

最新文章

  1. 《C程序员:从校园到职场》出版预告(1):从“高大上”到“柴米油盐”
  2. 利用BIOS 中断INT 0x10显示字符和字符串
  3. bioperl 格式化genebank的输出
  4. Linux Namespace系列(01):Namespace概述
  5. WebService开发
  6. 1.3 Hive架构原理
  7. 最不像地球的45个地方,你都见过几个?
  8. 数据结构练习 00-自测3. 数组元素循环右移问题 (20)
  9. UCMA(OCS) 开发系列之二(安装与部署)
  10. springboot requestmapping 正则_SpringBoot三招组合拳,手把手教你打出优雅的后端接口...
  11. Linux内核源码分析--内核启动之(3)Image内核启动(C语言部分)(Linux-3.0 ARMv7)
  12. mysql的脏数据_数据库的脏数据问题
  13. 人人都能看懂——c大调d大调f…
  14. 第九届河南省程序设计大赛-NYOJ-1276(搜索batter)
  15. 1293A-ConneR and the A.R.C. Markland-N(ArrayList、二分查找)
  16. 技术指南:手机拍照身份证识别技术
  17. python 学习爬取哔哩哔哩今日热门的前100个视频
  18. 多易教育KAFKA实战(4)-原理加强
  19. 云系统服务器收费,云服务器收费标准
  20. JAVA简易通讯录系统

热门文章

  1. 计算机网络岗位环境分析论文,计算机网络环境研究论文
  2. 音乐制作软件-Ableton Live Suite 9.7.7 X86 PC
  3. 微信JSSDK分享接口教程,wechat,share ,onMenuShareAppMessage wx.onMenuShareTimeline
  4. PhpStorm破解版及使用教程2017版本
  5. js声明数组 js数组如何获取真实对象 js数组处理null值情况 js数组通过下标赋值和push赋值的区别 loopback4的基础使用
  6. java获取url前缀 jsp_Java获取URL链接的文件类型
  7. GoJS2.1去水印
  8. 弘辽科技:直通车新品布局。下篇
  9. php当前时间减去20分钟,从当前日期和时间中减去一些日期和时间,以便在PHP中查找年龄...
  10. 一个很好用的JavaScript在线压缩解压工具