zoukankan
html css js c++ java
PKU2074
#include
<
stdio.h
>
#include
<
string
.h
>
struct
line
{
double
x1, x2, y;
bool
ex;
}
;
line l1, l;
int
n;
double
len;
int
lineCnt;
line l2[
30
];
void
CNT()
{
int
i;
for
(i
=
0
; i
<
lineCnt; i
++
)
{
if
(l2[i].ex
&&
len
<
l2[i].x2
-
l2[i].x1)
len
=
l2[i].x2
-
l2[i].x1;
}
}
void
cut(line l1,
int
i)
{
if
(l1.x1
<=
l2[i].x1)
{
if
(l1.x2
<
l2[i].x2
&&
l1.x2
>
l2[i].x1)
l2[i].x1
=
l1.x2;
if
(l1.x2
>=
l2[i].x2)
l2[i].ex
=
0
;
}
else
if
(l1.x2
>=
l2[i].x2)
{
if
(l1.x1
<=
l2[i].x2)
l2[i].x2
=
l1.x1;
}
else
{
l2[lineCnt].x1
=
l1.x2, l2[lineCnt].x2
=
l2[i].x2, l2[lineCnt].ex
=
1
;
l2[i].x2
=
l1.x1;
lineCnt
++
;
}
}
void
func()
{
int
i;
line shadow;
double
r
=
(l1.y
-
l.y)
/
(l1.y
-
l2[
0
].y);
shadow.x1
=
l1.x2
-
(l1.x2
-
l.x1)
/
r;
shadow.x2
=
l1.x1
+
(l.x2
-
l1.x1)
/
r;
shadow.y
=
l2[
0
].y;
for
(i
=
0
; i
<
lineCnt; i
++
)
{
if
(l2[i].ex)
cut(shadow, i);
}
}
int
main()
{
while
(scanf(
"
%lf%lf%lf
"
,
&
l1.x1,
&
l1.x2,
&
l1.y)
==
3
)
{
if
(l1.x1
==
0
&&
l1.x2
==
0
&&
l1.y
==
0
)
break
;
len
=
0
;
scanf(
"
%lf%lf%lf
"
,
&
l2[
0
].x1,
&
l2[
0
].x2,
&
l2[
0
].y);
l2[
0
].ex
=
1
;
lineCnt
=
1
;
scanf(
"
%d
"
,
&
n);
int
i;
for
(i
=
0
; i
<
n; i
++
)
{
scanf(
"
%lf%lf%lf
"
,
&
l.x1,
&
l.x2,
&
l.y);
if
(l.y
<
l1.y
&&
l.y
>=
l2[
0
].y)
func();
}
CNT();
if
(len
>
0
)
printf(
"
%.2f\n
"
, len);
else
printf(
"
No View\n
"
);
}
return
0
;
}
查看全文
相关阅读:
学习ASP.NET Core(11)-解决跨域问题与程序部署
学习ASP.NET Core(10)-全局日志与xUnit系统测试
学习ASP.NET Core(09)-数据塑形与HATEOAS及内容协商
学习ASP.NET Core(08)-过滤搜索与分页排序
学习ASP.NET Core(07)-AOP动态代理与日志
学习ASP.NET Core(06)-Restful与WebAPI
学习ASP.NET Core(05)-使用Swagger与Jwt认证
基于NACOS和JAVA反射机制动态更新JAVA静态常量非@Value注解
DES 加密解密 文件工具类
springboot-mybatis双数据源配置
原文地址:https://www.cnblogs.com/SQL/p/933467.html
最新文章
LSM设计一个数据库引擎
10.递归算法最佳解析
什么是HTTP
妄论编程语言之争
文本挖掘之情感分析(一)
git环境配置 | GitHub
gensim word2vec |来自渣渣硕的学习笔记
ASP.NET Core策略授权和 ABP 授权
X86模拟龙芯与编译 .NET CoreCLR
菜渣开源一个基于 EMIT 的 AOP 库(.NET Core)
热门文章
C# 反射与特性(十):EMIT 构建代码
Autofac入门与替代ASP.NET Core、ABP依赖注入容器
ASP.NET Core 选项
ASP.NET Core 配置与获取
Blazor入门:ASP.NET Core Razor 组件
C# 多线程(18):一篇文章就理解async和await
C# 多线程(17):小总结
《Redis设计与实现》笔记3—多机数据库的实现
《Redis设计与实现》笔记2—单机数据库的实现
《Redis设计与实现》笔记1—数据结构与对象
Copyright © 2011-2022 走看看