Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

Re:可能有人发送为E,G,H 的源代码,以我的电子邮件-piotr.mikulski@gmail.com?

Posted by realmajia at 2008-08-31 21:00:00
In Reply To:可能有人发送为E,G,H 的源代码,以我的电子邮件-piotr.mikulski@gmail.com? Posted by:pmnox at 2008-08-31 18:26:41
> 可能有人发送为E,G,H 的源代码,以我的电子邮件-piotr.mikulski@gmail.com?
#包括<iostream> 
#包括<vector> 
#包括<cmath> 

使用名字空间性病; 
常量诠释maxn = 110005 ; 
常量诠释maxm = 11005 ; 
常量双零= 1e中- 8 ; 
诠释[ maxn ] ,乙[ maxn ] , [ maxn ] ; 

结构pnode ( 
双重的X , Y ; 
) ; 

pnode的LIS [ maxn ] ,五[ maxn ] ,阙[ maxn ] ,岑; 
诠释氮,男,乐,克[ maxn ] ; 
诠释搜索[ maxm ] [ 2 ] ; 
双答[ maxm ] ; 

bool myless (常量pnode & X的常量pnode安永) 
( 
如果部分( FABS ( x.y - y.y ) > 0 ) 
返回x.y < y.y ; 
其他的 
返回x.x < y.x ; 
) 

内置双交叉( pnode普, pnode及石矿, pnode与R ) 
( 
返回( q.x - p.x ) * ( r.y - p.y ) -( q .y- p .y) * ( r .x- p .x) ; 
) 

内置诠释getvalue (双十) 
( 
如果部分( FABS ( x )的< = 0 ) 
返回0 ; 
否则,如果(十> 0 ) 
返回一; 
其他的 
返回-1 ; 
) 

内置诠释getcross ( pnode普, pnode及石矿, pnode与R ) 
( 
返回getvalue (跨的( p , q , r ) )的; 
) 

无效凸( ) 
( 
诠释,我j ; 
排序( &的LIS [ 1 ] , &的LIS [一] , myless ) ; 
/ / (一= 1 ,我< = ; + +一) 
/ / printf ( “ 0.2 % , 0.2 %的LF LF炉\ n ” ,未决[一]的X ,未决[一] 。 y )的; 
乐= 0 ; 
(一= 1 ,我< = ; + + ) ( 
而(乐> 1 & & getcross (阙[乐1 ] ,阙[乐] ,未决[一] ) < = 0 ) -乐; 
+乐; 
阙[乐] =的LIS [一] ; 
) 
j =乐; 
(一为N ;我> = 1 ; -我) ( 
而(乐>在J & & getcross (阙[乐1 ] ,阙[乐] ,未决[一] ) < = 0 ) -乐; 
+乐; 
阙[乐] =的LIS [一] ; 
) 
(一= 1 ,我< =乐; + +一) 
未决[一] =阙[一] ; 
-乐; 
/ / printf ( “ \ n ” ) ; 
/ / (一= 1 ,我< =乐; + +一) 
/ / printf ( “ 0.2 % , 0.2 %的LF LF炉\ n ” ,未决[一]的X ,未决[一] 。 y )的; 
) 
无效get_vector ( ) 
( 
诠释; 
(一= 1 ,我< =乐; + + ) ( 
五[一]的X =的LIS [我一]的X的LIS [一] X的; 
五[一] 。为Y =的LIS [我一] 。 Y型的LIS [一] 。 y ; 
/ /克[一] = ; 
) 
) 

内置bool之间( pnode普, pnode及石矿, pnode与R ) 
( 
返回( getcross共同体( CEN ,的Q规划) > 0 & & getcross共同体( CEN ,磷, R )上> = 0 ) ; 
) 

诠释找到(双XX条,双年) 
( 
pnode现在; 
now.x = XX条; 
now.y =年; 
如果(之间的(现在,五[乐] ,五[ 1 ] ) ) 
返回一; 
诠释升= 1时, R =乐,中旬; 
而( 1升< ) ( 
中= (升+ ) / 2 ; 
如果( getcross共同体( CEN ,五[升] ,五[中] ) > 0 ) ( 
如果(之间的(现在,五[升] ,五[中] ) ) 
r =中; 
其他的 
升=中; 
)否则( 
如果(之间的(现在,五[中] ,五[ r ] ) ) 
升=中; 
其他的 
r =中; 
) 
) 
返回右; 
) 
内置功能的诠释(诠释x )的 
( 
如果(十>乐) 
返回的X乐; 
其他的 
返回x ; 
) 
无效getpoint (双XX条,双年,圣诠释,诠释,教育署,诠释& X的诠释安永) 
( 
pnode现在; 
now.x = XX条; 
now.y =年; 
x =- 1 ; 
为y =-一; 
如果(教育署<圣)教育署,教育署= +乐; 
诠释va1 , va2 ; 
va1 = getcross共同体( CEN ,现在的LIS [圣] ) ; 
va2 = getcross共同体( CEN ,现在的LIS [功能(教署) ] ) ; 
如果( va1 == 0 ) ( 
x =圣; 
为Y =功能(圣一) ; 
返回; 
) 
如果( va2 == 0 ) ( 
x =功能(教育) ; 
为Y =功能(海关- 1 ) ; 
如果(是== 0 )为Y =乐; 
返回; 
) 
如果( va1 == va2 )返回; 
而(圣一<教育署) ( 
诠释中= (圣+教育署) / 2 ; 
诠释VA部= getcross共同体( CEN ,现在的LIS [功能(中) ] ) ; 
如果( VA部== 0 ) ( 
教育署=中; 
圣=中一; 
打破; 
)如果( VA部== va1 ) 
圣=中; 
其他的 
教育署=中; 
) 
x =功能(圣) ; 
为Y =功能(教育) ; 
) 

无效getequation ( pnode普, pnode及石矿,双击&一,双及B ,双&三) 
/ /根据磷, q两点得到直线方程的AX + + = 0 
( 
1 = p.y - q.y ; 
b = q.x - p.x ; 
c = p.x * q.y - p.y * q.x ; 
) 
bool solveequation (双一,双b , c双,双酶A2 , B2的双,双的C2 , pnode & PP )的 
/ /解方程,求两直线交点 
( 
如果部分( FABS (乙*酶A2 - B2的*一) < = 0 ) 
返回FALSE ; 
pp.y =- (三*酶A2 -的C2 * ) / (乙*酶A2 - B2的* ) ; 
如果(晶圆厂(一) > 0 ) 
pp.x = ( -的C - B * pp.y ) /一; 
其他的 
pp.x = ( -中C2 - B2的* pp.y ) /酶A2 ; 
真正的回报; 
) 
bool intersect_point ( pnode普, pnode及石矿, pnode &铀, pnode及V , pnode & PP )的 
/ /求p -Q报告,美国- V的两直线的交点页 
( 
双机管局,预算局,消委会; 
双aa2 , bb2 , cc2 ; 
getequation的( p , q ,机管局,预算局,消委会) ; 
getequation (铀,五, aa2 , bb2 , cc2 ) ; 
返回solveequation (机管局,预算局,消委会, aa2 , bb2 , cc2 ,聚丙烯) ; 
) 
内置双存款保险计划(双X的双Y ) 
( 
返回sqrt (十*用X + y * y )的; 
) 
无效Updata公司(诠释NUM个, pnode & P )的 
( 
双VA部=存款保险计划(六[ NUM个] [ 0 ] ,女[ NUM个] [ 1 ] ) /存款保险计划( p.x , p.y ) ; 
如果( VA部>答[ NUM个] )答[ NUM个] = VA部; 
) 
作废支票( NUM个诠释,诠释X的诠释y )的 
( 
如果(十==- 1 )的回报; 
/ / printf ("(%. 2lf % 0.2 LF炉) ( % , 0.2 %的LF 0.2星期三) \ n “ ,未决的[ x ] X的,未决的[ x ] 。 y ,未决的[ Y ] X的,未决的[ Y ] 。 y )的; 
pnode现在; 
now.x = F的[ NUM个] [ 0 ] ; 
now.y = F的[ NUM个] [ 1 ] ; 
如果(十==- 1 )的回报; 
如果( getcross共同体( CEN ,现在的LIS的[ x ] ) == 0 ) 
Updata公司( NUM个,土地信息系统的[ x ] ) ; 
如果( getcross共同体( CEN ,现在的LIS的[ Y ] ) == 0 ) 
Updata公司( NUM个,土地信息系统的[ Y ] ) ; 
pnode宝; 
如果( intersect_point (未决的[ x ] ,未决的[ Y ] ,岑,现在,宝) ) 
Updata公司( NUM个,区) ; 
) 
无效的钙( ) 
( 
诠释,我上,下,的X , Y ; 
(一= 1 ,我< =米; + + ) ( 
答[一] =- 1 ; 
如果(六[一] [ 0 ] == 0 &及F [一] [ 1 ] == 0 ) ( 
答[一] = 0 ; 
继续; 
) 
下跌=找到(六[一] [ 0 ] ,女[一] [ 1 ] ) ; 
找到了= ( - F的[一] [ 0 ] , - F的[一] [ 1 ] ) ; 
getpoint (六[一] [ 0 ] ,女[一] [ 1 ] , , ,的X , Y ) ; 
检查(我的X , Y ) ; 
getpoint (六[一] [ 0 ] ,女[一] [ 1 ] ,上,下,的X , Y ) ; 
检查(我的X , Y ) ; 
) 
(一= 1 ,我< =米; + +一) 
如果(答[一] ==- 1 ) 
printf ( “不可能\ n ” ) ; 
其他的 
printf ( “ 0.5 %的LF \ n ” ,答[我] ) ; 

) 

诠释的Main ( ) 
( 
cen.x = 0 ; 
cen.y = 0 ; 
scanf ( “ % d个% D ”类,及氮, &米) ; 
诠释; 
(一= 1 ,我< = ; + + ) ( 
scanf ( “第% d % d个% D ”类,及一[一] ,及B [一] ,及C [一] ) ; 
未决[一]的X =一[一] / (三[一] 0.0 ) ; 
未决[一] 。为Y = B的一] / (三[一] 0.0 ) ; 
) 
(一= 1 ,我< =米; + +一) 
scanf ( “ % d个% D ”类,及F [一] [ 0 ] ,及F [一] [ 1 ] ) ; 
凸( ) ; 
/ / printf ( “乐= % d个\ n ” ,乐) ; 
get_vector ( ) ; 
钙( ) ; 
/ / scanf ( “ % D ”类, & n )的; 
)

Followed by:

Post your reply here:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator