题解:

按照时间枚举一下那些点有水

然后用物理方案来计算

代码:

#include<bits/stdc++.h>
const int N=,M=;
int n,m,x,y,z,i,A,B,T,g[N],v[M],w[M],nxt[M],ed;
struct P
{
int x,y,h,v;
}a[N];
int getid(int x)
{
for (int i=;i<=n;i++)
if (a[i].x==x)return i;
}
void add(int x,int y,int z)
{
v[++ed]=y;w[ed]=z;nxt[ed]=g[x];g[x]=ed;
v[++ed]=x;w[ed]=z;nxt[ed]=g[y];g[y]=ed;
}
int main()
{
scanf("%d",&n);
for (int i=;i<=n;i++)
{
scanf("%d%d%d",&a[i].x,&a[i].y,&a[i].h);
a[i].h+=a[i].y;
a[i].v=i==;
}
scanf("%d",&m);
while (m--)
{
scanf("%d%d%d",&x,&y,&z);
add(getid(x-),getid(x+z),y);
}
scanf("%d%d",&A,&B);
while ()
{
for (x=;x;)
for (x=,i=;i<=n;i++)
if (a[i].v)
for (int j=g[i];j;j=nxt[j])
if (a[i].h<=w[j]&&!a[v[j]].v)a[v[j]].v=x=;
for (m=,i=;i<=n;i++)
if (a[i].v&&a[i].h>m)m=a[i].h;
if (a[A].v&&m==B)
{
printf("%d",T);
return ;
}
for (int i=;i<=n;i++)
if (a[i].v&&a[i].y==a[i].h&&a[i].y==m)
{
puts("-1");
return ;
}
for (int i=;i<=n;i++)
if (a[i].v&&a[i].h==m)a[i].h--,T++;
}
}

bzoj1092的更多相关文章

  1. BZOJ1092 : [SCOI2003]蜘蛛难题

    按时间一步一步模拟. 每一次,首先将所有没有水但是可以被灌到水的管子标记为有水,然后求出有水的管子里水面高度的最小值. 如果$a$号管有水且最小值为$b$,那么说明此时蜘蛛碰到了水. 如果有管子溢出且 ...

  2. 【SCOI2003】【BZOJ1092】蜘蛛难题

    有一堆管道,还有一个蜘蛛Willy,如下图所示.所有管道的是上端开口,下端封底,直径都是1cm,连接两个管道的连接容量无限,但体积可以忽略不计. 在第一个管道上方有一个水源,从中有水不断往下流,速度为 ...

  3. BZOJ第1页养成计划

    嗯,用这篇博客当一个目录,方便自己和学弟(妹?)们查阅.不定期更新. BZOJ1000   BZOJ1001   BZOJ1002   BZOJ1003   BZOJ1004   BZOJ1005   ...

随机推荐

  1. 高级版本VS打开低版本VS工程,无法调试的问题

    选中Debugging选项,在Command命令行里面输入生成exe文件的相对路径. 转载:http://blog.csdn.net/x931100537/article/details/405052 ...

  2. 关于Session的概念和测试点

    Session概要 Session 是用于保持状态的基于 Web 服务器的方法,在 Web 服务器上保持用户的状态信息供在任何时间从任何页访问. Session 允许通过将对象存储在 Web 服务器的 ...

  3. C#中基于流的XML文件操作笔记

    System.Xml.XmlReader和System.Xml.XmlWriters是两个抽象类,XmlReader提供了对于XML数据的快速,非缓存,只进模式的读取器,XmlWriter表示一个编写 ...

  4. AP与CP介绍【转】

    本文转载子:https://blog.csdn.net/wqlinf/article/details/8663170 基带芯片加协处理器(CP,通常是多媒体加速器).这类产品以MTK方案为典型代表,M ...

  5. Java中创建只读容器,同步容器

    我们通过Collections.unmodifiableX来得到只读容器,因为容器被设为只读的,所以必须填入有意义的数据之后才进行设置 import java.util.ArrayList; impo ...

  6. 通过设置代理,解决服务器禁止抓取,报“java.io.IOException: Server returned HTTP response code: 403 for URL”错误的方法

    java.io.IOException: Server returned HTTP response code: 403 for URL: http:// 这个是什么异常呢? 当你使用java程序检索 ...

  7. python unicode

    >>> a="jkjjhhjjj" >>> a_uni = a.decode('utf-8') >>> type(a_uni) ...

  8. win10 操作系统 修改桌面图标

    桌面右击出现菜单后,点击个性化: 点击左边菜单的主题,点击桌面图标设置,在新窗口中选择需要显示的图标接口 details please check following screenshot

  9. zlib__ZC

    官网:http://www.zlib.net/ ,所有版本下载:http://www.zlib.net/fossils/ ZC: 我下载的是 zlib-1.2.3.tar.gz 和 zlib-1.2. ...

  10. js 对call apply bind理解

    请参考 http://www.cnblogs.com/xljzlw/p/3775162.html 1.call和apply的区别:参数类型不同var mtt = { name: "mtt&q ...