zoukankan
html css js c++ java
今天HNU的一道水题11018
水题 ~~~啥都不说了
水方法解决
#include
<
string
.h
>
#include
<
stdio.h
>
int
x1, y1, x2, y2;
double
seg[
100000
][
2
];
int
cnt;
int
res;
int
segb[
100000
];
double
total[
100000
][
2
];
int
xl,yl;
void
shadow()
{
double
x
=
xl,y
=
yl;
double
ax
=
x1,ay
=
y1,bx
=
x2,by
=
y2;
double
d1,d2;
d1
=
x
-
y
*
(x
-
ax)
/
(y
-
ay);
d2
=
x
-
y
*
(x
-
bx)
/
(y
-
by);
if
(d1
>
d2)
{
double
hold
=
d1;
d1
=
d2;
d2
=
hold;
}
seg[cnt][
0
]
=
d1;
seg[cnt][
1
]
=
d2;
segb[cnt]
=
1
;
cnt
++
;
}
void
cacul()
{
int
i
=
0
;
while
(i
<
cnt)
{
for
(
int
l
=
0
;l
<
cnt;l
++
)
{
if
(segb[l]
==
1
)
{
total[res][
0
]
=
seg[l][
0
];
total[res][
1
]
=
seg[l][
1
];
segb[l]
=
0
;
res
++
;
i
++
;
break
;
}
}
for
(
int
j
=
0
;j
<
res;j
++
)
{
int
k
=
0
;
for
(k
=
0
;k
<
cnt;k
++
)
{
if
(segb[k]
==
1
)
{
if
(total[j][
0
]
-
seg[k][
0
]
>=
0
&&
seg[k][
1
]
-
total[j][
0
]
>=
0
)
{
total[j][
0
]
=
seg[k][
0
];
if
(seg[k][
1
]
-
total[j][
1
]
>=
0
)
total[j][
1
]
=
seg[k][
1
];
i
++
;
segb[k]
=
0
;
k
=
0
;
}
else
if
(total[j][
1
]
-
seg[k][
0
]
>=
0
&&
seg[k][
1
]
-
total[j][
1
]
>=
0
)
{
total[j][
1
]
=
seg[k][
1
];
if
(total[j][
0
]
-
seg[k][
0
]
>=
0
)
total[j][
0
]
=
seg[k][
0
];
i
++
;
segb[k]
=
0
;
k
=
0
;
}
else
if
(seg[k][
0
]
-
total[j][
0
]
>=
0
&&
total[j][
1
]
-
seg[k][
1
]
>=
0
)
{
i
++
;
segb[k]
=
0
;
k
=
0
;
}
}
}
}
}
}
int
main()
{
int
n;
scanf(
"
%d
"
,
&
n);
for
(
int
i
=
0
;i
<
n;i
++
)
{
memset(seg,
0
,
sizeof
(seg));
memset(total,
0
,
sizeof
(total));
memset(segb,
0
,
sizeof
(segb));
cnt
=
0
;
res
=
0
;
int
m;
scanf(
"
%d
"
,
&
m);
scanf(
"
%d%d
"
,
&
xl,
&
yl);
for
(
int
j
=
0
;j
<
m;j
++
)
{
scanf(
"
%d%d%d%d
"
,
&
x1,
&
y1,
&
x2,
&
y2);
shadow();
}
cacul();
printf(
"
%d\n
"
,res
+
1
);
}
return
0
;
}
查看全文
相关阅读:
正则 不匹配某个单词
希赛 系统架构设计师教程 勘误
QQ 快速登录中获取用户信息
requests 配置tor代理后提示'Failed to establish a new connection: [Errno -2] Name or service not known'
xadmin choice filter 多选
kali linux 热点 无法获取IP
windows10 输入法添加小鹤双拼
del: recycle for linux
安装WSL2
cmake(转载)
原文地址:https://www.cnblogs.com/SQL/p/894313.html
最新文章
mac 默认python3 设置
代理模式详解(包含原理详解)
单例模式详解
设计模式六大规则
springmvc底层调用流程
java代码实现:12个高矮不同的人,排成两排,每排必须是从矮到高排列,而且第二排比对应的第一排的人高,问排列方式有多少种?
java两栈实现一个队列
java二叉树实现代码
java中介者模式
对多个资源、数据库表、对象同时加锁时,需要保持一致的加锁顺序,否则可能会造成死锁。
热门文章
javascript变量、作用域及内存
javascript时间与日期详解
添加和移除Class,addClass/removeClass的简单实现
浏览器history对象的几个新方法
元素背景透明/绝对居中
基于jquery表单验证
让文档某一块区域 智能浮动
自定义滚动条插件
在火狐以外的浏览器安装使用firebug
产品对比插件
Copyright © 2011-2022 走看看