[LUOGU]2831 愤怒的小鸟 [NOIP]2016 D2T3
来源:互联网 发布:weego我去旅行 知乎 编辑:程序博客网 时间:2024/05/22 04:39
Kiana 最近沉迷于一款神奇的游戏无法自拔。
简单来说,这款游戏是在一个平面上进行的。
有一架弹弓位于
当小鸟落回地面(即
在游戏的某个关卡里,平面的第一象限中有
如果某只小鸟的飞行轨迹经过了
如果一只小鸟的飞行轨迹没有经过
例如,若两只小猪分别位于
而这个游戏的目的,就是通过发射小鸟消灭所有的小猪。
这款神奇游戏的每个关卡对 Kiana 来说都很难,所以 Kiana 还输入了一些神秘的指令,使得自己能更轻松地完成这个游戏。这些指令将在【输入格式】中详述。
假设这款游戏一共有
输入
从标准输入读入数据。
第一行包含一个正整数
下面依次输入这
如果
如果
如果
保证
上文中,符号
输出
输出到标准输出。
对每个关卡依次输出一行答案。
输出的每一行包含一个正整数,表示相应的关卡中,消灭所有小猪最少需要的小鸟数量。
样例一
input
22 01.00 3.003.00 3.005 21.00 5.002.00 8.003.00 9.004.00 8.005.00 5.00
output
11
explanation
这组数据中一共有两个关卡。
第一个关卡与问题描述中的情形相同,
第二个关卡中有
样例二
input
32 01.41 2.001.73 3.003 01.11 1.412.34 1.792.98 1.495 02.72 2.722.72 3.143.14 2.723.14 3.145.00 5.00
output
223
样例三
input
110 07.16 6.282.02 0.388.33 7.787.68 2.097.46 7.865.77 7.448.24 6.724.42 5.115.42 7.798.15 4.99
output
6
限制与约定
数据的一些特殊规定如下表:
时间限制:
空间限制:
下载
样例数据下载
#include<cmath>#include<stdio.h>#include<cstring>#include<algorithm>#define clear(a) memset(a, 0, sizeof(a))#define fufil(a) memset(a, 60, sizeof(a))using namespace std;const double eps = 1e-10;double x[21], y[21], a, b;int dp[270000], f[405], n, T, tot, lim, m;int main(){scanf("%d", &T);while(T--){clear(f), tot = 0;fufil(dp), dp[0] = 0;scanf("%d%d", &n, &m); lim = (1<<n) - 1;for(int i = 0; i < n; ++i) scanf("%lf%lf", &x[i], &y[i]);for(int i = 0; i < n - 1; ++i)for(int j = i + 1; j < n; ++j){ a = (y[i] * x[j] / x[i] - y[j]) / (x[i] * x[j] - x[j] * x[j]); //抛物线公式自己推推就知道啦 b = (y[i] - a * x[i] * x[i]) / x[i]; if(a > -eps) continue; ++tot; for(int k = i ; k < n; ++k) if(fabs(a * x[k] * x[k] + b * x[k] - y[k]) < eps) f[tot] |= (1 << k); }for(int i = 0; i < n; ++i) f[++tot] = (1 << i); //必要的for(int i = 0; i < lim; ++i)for(int j = 1; j <= tot; ++j)dp[i | f[j]] = min(dp[i | f[j]], dp[i] + 1);printf("%d\n", dp[lim]);}}
- [LUOGU]2831 愤怒的小鸟 [NOIP]2016 D2T3
- 洛谷【P2831】愤怒的小鸟 (NOIP 2016 D2T3)
- NOIP 2016 愤怒的小鸟
- NOIP-2016 愤怒的小鸟
- Noip 2016 愤怒的小鸟
- 【NOIP 2016 提高组】愤怒的小鸟
- NOIP 2016 Day2 T3 愤怒的小鸟
- [luogu-2831]noip2016-day2-T3 愤怒的小鸟 题解
- NOIP 2015 愤怒的小鸟
- [NOIP] [状压DP] NOIP2016Day2 愤怒的小鸟
- 洛谷2831 愤怒的小鸟
- 蓝桥杯2016愤怒的小鸟
- Luogu P1941 [NOIp提高组2014]飞扬的小鸟
- 【NOIP2016】洛谷2831 愤怒的小鸟
- NOIP2016愤怒的小鸟(洛谷2831)
- 愤怒的小鸟
- 愤怒的小鸟
- 愤怒的小鸟
- CentOS6.5搭建asterisk及配置软电话
- 使用 java8 实现List到Array的转换
- 升级curl
- Python切片
- c语言--两个叹号连用
- [LUOGU]2831 愤怒的小鸟 [NOIP]2016 D2T3
- 关于Invalid character found in method name. HTTP method names must be tokens
- UVA 10881 Piotr's Ants
- spring源码部署
- gulp入门教程
- bootstrap和swiper的使用
- Android 持续搜集关于Android使用工具
- 数据库隔离级别详解
- Eclipse不能启动Genymotion plugin