Kiana 最近沉迷于一款神奇的游戏无法自拔。

简单来说,这款游戏是在一个平面上进行的。

有一架弹弓位于 (0,0) 处,每次 Kiana 可以用它向第一象限发射一只红色的小鸟, 小鸟们的飞行轨迹均为形如 y=ax2+bx 的曲线,其中 a,b 是 Kiana 指定的参数,且必须满足 a<0。

当小鸟落回地面(即 x 轴)时,它就会瞬间消失。

在游戏的某个关卡里,平面的第一象限中有 n 只绿色的小猪,其中第 i 只小猪所在的坐标为 (xi,yi)。

如果某只小鸟的飞行轨迹经过了 (xi, yi),那么第 i 只小猪就会被消灭掉,同时小鸟将会沿着原先的轨迹继续飞行;

如果一只小鸟的飞行轨迹没有经过 (xi, yi),那么这只小鸟飞行的全过程就不会对第 i 只小猪产生任何影响。

例如,若两只小猪分别位于 (1,3) 和 (3,3),Kiana 可以选择发射一只飞行轨迹为 y=−x2+4x 的小鸟,这样两只小猪就会被这只小鸟一起消灭。

而这个游戏的目的,就是通过发射小鸟消灭所有的小猪。

这款神奇游戏的每个关卡对 Kiana 来说都很难,所以 Kiana 还输入了一些神秘的指令,使得自己能更轻松地完成这个这个游戏。

这些指令将在输入格式中详述。

假设这款游戏一共有 T 个关卡,现在 Kiana 想知道,对于每一个关卡,至少需要发射多少只小鸟才能消灭所有的小猪。

由于她不会算,所以希望由你告诉她。

注意:本题除 NOIP 原数据外,还包含加强数据。

输入格式

第一行包含一个正整数 T,表示游戏的关卡总数。

下面依次输入这 T 个关卡的信息。

每个关卡第一行包含两个非负整数 n,m,分别表示该关卡中的小猪数量和 Kiana 输入的神秘指令类型。

接下来的 n 行中,第 i 行包含两个正实数 (xi,yi),表示第 i 只小猪坐标为 (xi,yi),数据保证同一个关卡中不存在两只坐标完全相同的小猪。

如果 m=0,表示 Kiana 输入了一个没有任何作用的指令。

如果 m=1,则这个关卡将会满足:至多用 ⌈n/3+1⌉ 只小鸟即可消灭所有小猪。

如果 m=2,则这个关卡将会满足:一定存在一种最优解,其中有一只小鸟消灭了至少 ⌊n/3⌋ 只小猪。

保证 1≤n≤18,0≤m≤2,0<xi,yi<10,输入中的实数均保留到小数点后两位。

上文中,符号 ⌈c⌉ 和 ⌊c⌋ 分别表示对 c 向上取整和向下取整,例如 :⌈2.1⌉=⌈2.9⌉=⌈3.0⌉=⌊3.0⌋=⌊3.1⌋=⌊3.9⌋=3。

输出格式

对每个关卡依次输出一行答案。

输出的每一行包含一个正整数,表示相应的关卡中,消灭所有小猪最少需要的小鸟数量。

数据范围

输入样例:

2
2 0
1.00 3.00
3.00 3.00
5 2
1.00 5.00
2.00 8.00
3.00 9.00
4.00 8.00
5.00 5.00

输出样例:

1
1

思路:

/*
题意:最少需要几只小鸟才能将所有的小猪												

524. 愤怒的小鸟相关推荐

  1. 【动态规划】状态压缩动态规划

    整理的算法模板合集: ACM模板 目录 一.集合类状态压缩动态规划 A. AcWing 91. 最短Hamilton路径 B.AcWing 524. 愤怒的小鸟 二.连通类(棋盘类)状态压缩动态规划 ...

  2. 状态压缩DP AcWing算法提高课 (详解)

    基础课的状态压缩点这里 基础课中 蒙德里安的梦想 属于 棋盘式状态压缩dp,最短Hamilton路径 属于 集合状态压缩dp 1064. 小国王(棋盘式/基于连通性) 这种棋盘放置类问题,在没有事先知 ...

  3. acwing提高组 第一章 动态规划

    文章目录 数字三角形模型 最长上升子序列模型 背包模型 状态机模型 状态压缩DP 区间DP 树形DP 数位DP 单调队列优化DP 斜率优化DP oj链接 数字三角形模型 AcWing 1015. 摘花 ...

  4. 算法——AcWing算法提高课中代码和题解

    文章目录 第一章 动态规划 (完成情况:64/68) 数字三角形模型 最长上升子序列模型 背包模型 状态机模型 状态压缩DP 区间DP 树形DP 数位DP 单调队列优化DP 斜率优化DP 第二章 搜索 ...

  5. AcWing-算法提高课【合集】

    算法提高 动态规划 数字三角形 1015. 摘花生 1018.最低通行费 1027. 方格取数 最长上升子序列LIS 1017. 怪盗基德的滑翔翼 1014.登山 482.合唱队形 1012. 友好城 ...

  6. AcWing算法提高课

    1. 动态规划(43/68) 1.1 数字三角形模型(4/4) 1.1.1 AcWing 1015. 摘花生 结论: f[i][j]=max⁡(f[i−1][j],f[i][j−1])+w[i][j] ...

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

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

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

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

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

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

最新文章

  1. ORB-SLAM2从理论到代码实现(五):ORBmatcher.cc程序详解
  2. 一个命令让Ubuntu升级变得更简单
  3. java 底层方法_底层方法测试--【Java】
  4. HDU 6112黑色星期五 蓝桥基拉姆森公式
  5. Docker 容器时区时间不一致问题解决
  6. Python如何实现数据可视化
  7. java取出连续子串_JAVA :在给定一个数组中,可以取得多个连续的子串。在众多子串中,求各元素和为最大值的连续子串...
  8. SQL Server 清空或删除所有数据库表中的数据
  9. Qt文档阅读笔记-Qt工作笔记-QTableWidget::selectedItems()官方解析与实例(如何进行多选)
  10. 【Docker】Docker容器和主机如何互相拷贝传输文件
  11. 《DOM编程艺术》中CSS—DOM的总结(一)
  12. mysql 创建用户命令-grant
  13. 【HDU3336】Count the String(kmp--每个前缀出现的次数)
  14. 玩转Python,30行Python代码刷王者荣耀金币
  15. 疫情背后,零售变革正在酝酿,手机行业或迎来线下大洗牌
  16. (Attention机制原文)论文阅读:Neural Machine Translation by Jointly Learning to Align and Translate
  17. IPv4头部结构详解
  18. 爬虫mysql数据清洗_爬虫分析之数据存储——基于MySQL,Scrapy
  19. 化学实验室改造方案怎么做?
  20. Windows Server 2016修改计算机名

热门文章

  1. 当科技成为潮流,下一个新十年的未来应该如何畅想?
  2. php 获取必应图片信息,PHP自动获取必应今日美图
  3. 使用php打印实心菱形
  4. CSS使用彩色字体图标(Vue/Uni)
  5. apriori java_频繁模式挖掘apriori算法介绍及Java实现
  6. php免费开源多用户商城,开源php多用户商城系统好不好?
  7. Firefox 的用户脚本管理器 greasemonkey 的使用一例
  8. 玩一玩Greasemonkey--开发上手篇
  9. Confluence 自定义html禁用Word、PDF导出权限
  10. python人工智能计算器_python游戏dnf_招募:基于python的召唤师全时段全技能(含均值AI)计算器全程测试......