BZOJ4723——[POI2017]Flappy Bird
来源:互联网 发布:java可以做数据挖掘吗 编辑:程序博客网 时间:2024/04/30 01:42
1、题意:按照flappy bird的规则求从原点到某一列最少点几次屏幕
2、分析:到某一点的点击次数固定,所以维护每个柱子中间可以到达的范围就好,最后只要通过最后一个障碍物就好,掉落到哪里无所谓。
#include <map>#include <set>#include <cmath>#include <queue>#include <vector>#include <bitset>#include <string>#include <cstdio>#include <cstdlib>#include <cstring>#include <iostream>#include <algorithm>using namespace std;#define M 1000010#define LL long long#define MOD 1000000007#define inf 2147483647#define llinf 4000000000000000000ll#define For(i, x, y) for(int i = (x); i < (y); i ++)#define rep(i, x, y) for(int i = (x); i <= (y); i ++)#define drep(i, x, y) for(int i = (x); i >= (y); i --)inline int read(){ char ch=getchar();int x=0,f=1; while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();} while('0'<=ch&&ch<='9'){x=x*10+ch-'0';ch=getchar();} return x*f;}inline LL llread(){ char ch=getchar();LL x=0,f=1; while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();} while('0'<=ch&&ch<='9'){x=x*10+ch-'0';ch=getchar();} return x*f;}struct Node{ int x, a, b;} a[M];int nowx, nowy;int main(){ //freopen("0input.in", "r", stdin); int n = read(), X = read(); rep(i, 1, n) a[i] = (Node){read(), read(), read()}; rep(i, 1, n) a[i].a ++, a[i].b --; rep(i, 1, n){ int cha = a[i].x - a[i - 1].x; nowx -= cha; nowy += cha; nowx = max(nowx, a[i].a); nowy = min(nowy, a[i].b); if((a[i].x & 1) != (nowx & 1)) nowx ++; if((a[i].x & 1) != (nowy & 1)) nowy --; if(nowx > nowy) return puts("NIE"), 0; } printf("%d\n", (nowx + a[n].x) / 2); return 0;}
0 0
- BZOJ4723——[POI2017]Flappy Bird
- bzoj4723 [POI2017]Flappy Bird
- BZOJ4723 [POI2017]Flappy Bird
- 【bzoj4723】 [POI2017]Flappy Bird
- BZOJ4723: [POI2017]Flappy Bird
- [杂题 贪心] BZOJ4723: [POI2017]Flappy Bird
- 4723: [POI2017]Flappy Bird
- [POI2017] Flappy Bird 题解
- 【BZOJ】4723 [POI2017] Flappy Bird
- BZOJ 4723 POI2017 Flappy Bird
- [POI2017] Flappy Bird 解题报告
- [POI2017] Flappy Bird (思维题)
- 游戏——Flappy Bird
- 【Phaser游戏列表】——Flappy-bird
- unity视频笔记——flappy bird
- 初学Unity——Flappy Bird 开发实战
- flappy bird
- Flappy Bird
- 递归求二项式系数值
- gcc升级后更新libstdc++.so.6动态库
- 三星公司uboot模式下更改分区(EMMC)大小fdisk命令
- POJ-3020-Antenna Placement
- 二叉树路径-lintcode
- BZOJ4723——[POI2017]Flappy Bird
- 编译和调试CUDA程序
- pkg-config的用法
- 材质
- 第十四周项目1(4)——验证平衡二叉树相关算法
- 深度学习的五个能力级别
- opencv读取视频
- UIImage 加载方式及优化
- 【ARM-Linux开发】C语言getcwd()函数:取得当前的工作目录