L. 斩

Time Limit: 1000ms
Memory Limit: 65536KB

64-bit integer IO format: %lld      Java class name: Main

Submit Status PID: 29379

在电影里面,我们经常可以看到武士们拔出刀,然后一刀斩下去,结果………………………………一张纸片被砍成了两半,囧…………

而在本题中,我们需要计算一下被斩下去较小的那一部分的面积。

我们假设纸片是矩形的,平行于坐标轴的,武士砍纸片的轨迹是一条直线。

Input

第一行一个整数N(2<=N<=350),表示数据组数。

接下来一行,每行7个整数,xl,yl,xr,yr,a,b,c ,表分别表示矩形左下角坐标(xl,yl),右上角坐标(xr,yr),以及轨迹方程ax+by+c=0。整数的绝对值均小于200。

Output

对于每一组数据,输出一个三位小数,表示砍后较小那部分的面积。数据保证这个面积大于0.001。

Sample Input

3
1 1 3 3 -1 1 0
1 1 3 4 -1 1 0
1 2 3 4 -1 1 0

Sample Output

2.000
2.000
0.500                         |          |思路:矩形有四条边 都延伸开---|----------|----------                 |          |           ------|----------|------------直线ax+by+c=0 与它有四个交点 、找出四个交点的总哪两个是在矩形上的就可以算了(当时little yellow想出的方法和这不同 我听了1个多小时没懂 就不想写了)
#include<iostream>
#include<stdio.h>
#include<string.h>
#include<algorithm>
#include<math.h>
using namespace std;
int t;
int main()
{int t;scanf("%d",&t);while(t--){double S,s;double x1,y1,x2,y2,a,b,c;double Xy1,Xy2,x1Y,x2Y;scanf("%lf%lf%lf%lf",&x1,&y1,&x2,&y2);scanf("%lf%lf%lf",&a,&b,&c);Xy1=(c+b*y1)*1.0/-a;//下边点Xy2=(c+b*y2)*1.0/-a;//上边点x1Y=(c+a*x1)*1.0/-b;//左边点x2Y=(c+a*x2)*1.0/-b;//右边点// cout<<Xy1<<" "<<Xy2<<" "<<x1Y<<" "<<x2Y<<endl;bool f1,f2,f3,f4;//判断在那条边f1=(Xy1>=x1)&&(Xy1<=x2);f2=(Xy2>=x1)&&(Xy2<=x2);f3=(x1Y>=y1)&&(x1Y<=y2);f4=(x2Y>=y1)&&(x2Y<=y2);/*梯形面积*/if(f1&&f2)//下上平行边{s=(Xy1+Xy2-2*x1)*(y2-y1)/2.0;}else if(f3&&f4)//左右平行边{s=(x1Y+x2Y-2*y1)*(x2-x1)/2.0;/**/}/*三角形面积*/else if(f1&&f3)//下左相交边{s=(Xy1-x1)*(x1Y-y1)/2.0;}else if(f1&&f4)//下右相交边{s=(x2-Xy1)*(x2Y-y1)/2.0;}else if(f2&&f3)//上左相交边{s=(Xy2-x1)*(y2-x1Y)/2.0;}else if(f2&&f4)//上右相交边{s=(x2-Xy2)*(y2-x2Y)/2.0;}S=fabs(y2-y1)*(x2-x1);s=min(s,S-s);printf("%.3lf\n",s);}
}
												

BNU 斩(超级大水题)相关推荐

  1. 超级大水题(还是自己过不了的水题)

    题目链接:https://vjudge.net/contest/231314#problem/D Peter Parker wants to play a game with Dr. Octopus. ...

  2. 第三届山西省赛1004 一道大水题(scanf)

    一道大水题 时间限制: C/C++ 2000ms; Java 4000ms 内存限制: 65535KB 通过次数: 44 总提交次数: 1020 问题描述 Dr. Pan作为上兰帝国ACM的总负责人, ...

  3. BNU OJ 第26303 题 Touchscreen Keyboard

    BNU OJ第26303题Touchscreen Keyboard(题目链接)的解题报告. 原题如下: Touchscreen Keyboard Problem Description Nowaday ...

  4. 【数据结构】 最小生成树(四)——利用kruskal算法搞定例题×3+变形+一道大水题...

    在这一专辑(最小生成树)中的上一期讲到了prim算法,但是prim算法比较难懂,为了避免看不懂,就先用kruskal算法写题吧,下面将会将三道例题,加一道变形,以及一道大水题,水到不用高级数据结构,建 ...

  5. [bzoj1529][POI2005]ska Piggy banks 大水题

    1529: [POI2005]ska Piggy banks Time Limit: 5 Sec  Memory Limit: 64 MB [Submit][Status][Discuss] Desc ...

  6. HDU 5752 Sqrt Bo【枚举,大水题】

    Sqrt Bo Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others) Total ...

  7. HDU 2895 贪心 还是 大水题

    DESCRIPTION:大意是给你两个字符串.编辑距离只有add和delete会产生.所以.编辑距离最短一定是两个字符串的长度差.然后...呵呵呵呵.... 猜题意就可以了...但是...我觉得这个题 ...

  8. 八校联考第一场第二试 大水题

    [题意] dzy 定义一个n^2 位的数的生成矩阵A 为一个大小为n*n 且Aij 为这个数的第i*n+j-n位的矩阵. 现在dzy 有一个数n^2 位的数k,他想知道所有小于等于k 的数的n*n 生 ...

  9. Codeforces div2 #499 B. Planning The Expedition 大水题

    已经是水到一定程度了QAQ- Code: #include<cstdio> #include<algorithm> #include<cstring> using ...

  10. PAT甲题题解-1070. Mooncake (25)-排序,大水题

    #include <iostream> #include <cstdio> #include <algorithm> #include <string.h&g ...

最新文章

  1. SharpDevelop
  2. asp.Net Core免费开源分布式异常日志收集框架Exceptionless安装配置以及简单使用图文教程...
  3. 用.NET CF进行HardReset?
  4. abap视图字段限制_MM03物料主数据视图中某些视图或者某些字段的控制方法 | 学步园...
  5. android简单小程序完整代码_10行代码实现小程序支付功能!丨实战
  6. Redis数据库(二)——数据类型
  7. Git rebase 和 Git merge 的区别,你知道吗?
  8. 基于环信sdk的陌生人交友php服务器代码开源
  9. Python 局部变量和全局变量 - Python零基础入门教程
  10. python 定时执行_python定时执行任务 轻量级
  11. java url 缩略图_java根据url生成网页截图,缩略图 | 学步园
  12. element ui中 el-table根据不同的值设置单元格背景色
  13. 5 月编程语言排行榜:C 重回第一,今年编程语言名人堂冠军还会是它吗? | 原力计划...
  14. Lync Server 2013 标准版部署(十)边缘服务器部署[三]
  15. pythonATM,购物车项目实战_补充5-interface接口
  16. python大数据培训好不好
  17. 2020.11.16-使用Arduino测速
  18. 格力悄悄上架“大松5G手机”董明珠又杀回手机圈了?
  19. 双控专业就业机器人_东北大学自动化双控考研专业就业方向
  20. C语言中的比较大小的宏定义与反斜杠符号 ' \ '

热门文章

  1. 解决mac pro中三指轻按翻译的功能不起作用
  2. 更高速 更智能 WLAN领域H3C再获领先——H3C发布新一代高性能802.11n 无线产品
  3. 2440 OV9650 C通道保存图片完全成功!顶!
  4. 我的同学总结关于linux
  5. Double得有效位
  6. 喇叭正反相位测试音频_音频功放失真的四大要点及改善方法
  7. zsh重启后环境变量失效
  8. idea 2019.2 svn 忽略文件/目录 .idea *.iml target log
  9. android 集成融云客服,第三方客服
  10. ubuntu18重启vncserver_Ubuntu 18.04 LTS安装vncserver虚拟网络控制台