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
;
}
查看全文
相关阅读:
毕业了!
mesos无执行器启动docker
docker run option
maintenance
virtualenv
multi role
排序之插入排序
DLU-1064 美声葱
codeforces-1025 A Doggo Recoloring
codeforces-1027 C Minimum Value Rectangle
原文地址:https://www.cnblogs.com/SQL/p/894313.html
最新文章
Compare Version Numbers(STRING-TYPE CONVERTION)
转:指向类成员的指针
迭代器
超级楼梯-斐波那契数列的运用
实验1 线性表的顺序实现
贪心算法选择不相交区间
NOIP2007 奖学金 结构体排序
Java中"String.equals()“和"=="的区别
Java:新建数组
Update Vim to 8.0 in Ubuntu
热门文章
windows10和ubuntu16.04双系统下时间不对的问题
linux Boot目录满了之后的解决方法
设计模式之桥接
Runable和Thread
在写makefile过程中遇到的问题
微信公众号支付开发细节
kmp(看毛片)算法
[洛谷P2580]于是他错误的点名开始了(Trie树)
树状数组 && 线段树
字典树 Trie树
Copyright © 2011-2022 走看看