题目名称 907. 窗体面积
输入输出 windowus.in/out
难度等级 ★★★
时间限制 1000 ms (1 s)
内存限制 128 MiB
测试数据 11
题目来源 Gravatarsywgz 于2012-07-12加入
开放分组 全部用户
提交状态
分类标签
USACO 离散化
分享题解
通过:3, 提交:20, 通过率:15%
Gravatarmikumikumi 100 0.005 s 0.32 MiB C++
Gravatarcstdio 100 0.023 s 0.32 MiB C++
Gravatarmildark 100 0.026 s 0.32 MiB C++
Gravatarmikumikumi 81 0.005 s 0.32 MiB C++
Gravatarmikumikumi 81 0.006 s 0.32 MiB C++
GravatarKevin 45 0.156 s 0.56 MiB C++
Gravatarmildark 36 0.027 s 0.32 MiB C++
Gravatarmildark 18 0.018 s 0.32 MiB C++
GravatarKevin 18 0.353 s 0.62 MiB C++
Gravatarmildark 9 0.010 s 0.32 MiB C++
关于 窗体面积 的近10条评论(全部评论)
写了好久QAQ
Gravatarmikumikumi
2015-10-17 18:53 2楼
这蛋疼的读入格式……
经试验这样是可以的:
cin>>cmd;
if(cin.eof()) return false;

至少我尝试用scanf的努力都失败了
计算可行面积的方法和“形成的区域”有相似之处
然后要敢写……因为数据比较弱,时间复杂度大一些也能过
Gravatarcstdio
2013-11-17 22:37 1楼

907. 窗体面积

★★★   输入文件:windowus.in   输出文件:windowus.out   简单对比
时间限制:1 s   内存限制:128 MiB
USACO/window(译 by Felicia Crazy)

描述

 

你刚刚接手一项窗体界面工程。窗体界面还算简单,而且幸运的是,你不必显示实际的窗体。有 5 种基本操作:

  1. 创建一个新窗体
  2. 将窗体置顶
  3. 将窗体置底
  4. 删除一个窗体
  5. 输出窗体可见部分的百分比(就是,不被其它窗体覆盖的部分)。

在输入文件中,操作以如下的格式出现。

  • 创建一个新窗体:w(I,x,y,X,Y)
  • 将窗体置顶: t(I)
  • 将窗体置底: b(I)
  • 删除一个窗体:d(I)
  • 输出窗体可见部分的百分比:s(I)
I 是每个窗体唯一的标识符。表示符可以是 'a'..'z', 'A'..'Z' '0'..'9' 中的任何一个。输入文件中没有多余的空格。

x,y)和(X,Y)是窗体的对角。当你创建一个窗体的时候,它自动被置顶。你不能用已经存在的标识符来创建窗体,但是你可以删除一个窗体后再用已删除窗体的标识符来创建窗体。坐标用正整数来表示,并且所有的窗体面积都不为 0x <> X y <> Y)。x 坐标和 y 坐标在 1 —— 32767 的范围内。

PROGRAM NAME: windowus

INPUT FORMAT(file windowus.in)

输入文件包含给你的解释程序的一系列命令,每行一个。当输入文件结束时,停止程序。

OUTPUT FORMAT(file windowus.out)

只对于 s() 命令进行输出。当然,输入文件可能有许多 s() 命令,所以输出文件应该是一个百分比的序列,每行一个,百分比是窗体可见部分的百分比。百分比应该四舍五入到三位小数。

SAMPLE INPUT (file windowus.in)

w(a,10,132,20,12)
w(b,8,76,124,15)
s(a)

SAMPLE OUTPUT (file windowus.out)

49.167