锘??xml version="1.0" encoding="utf-8" standalone="yes"?>久久人人爽人人人人片av,久久精品国产亚洲77777,久久无码人妻一区二区三区午夜 http://m.shnenglu.com/vontroy/category/15066.htmlzh-cnSun, 20 Jan 2013 21:00:21 GMTSun, 20 Jan 2013 21:00:21 GMT60POJ 2653 Pick-up sticks 鍒ゆ柇綰挎鐩鎬氦http://m.shnenglu.com/vontroy/archive/2010/10/03/128488.htmlVontroyVontroySun, 03 Oct 2010 08:21:00 GMThttp://m.shnenglu.com/vontroy/archive/2010/10/03/128488.htmlhttp://m.shnenglu.com/vontroy/comments/128488.htmlhttp://m.shnenglu.com/vontroy/archive/2010/10/03/128488.html#Feedback0http://m.shnenglu.com/vontroy/comments/commentRss/128488.htmlhttp://m.shnenglu.com/vontroy/services/trackbacks/128488.htmlPick-up sticks
Time Limit: 3000MS Memory Limit: 65536K
Total Submissions: 4189 Accepted: 1501

Description

Stan has n sticks of various length. He throws them one at a time on the floor in a random way. After finishing throwing, Stan tries to find the top sticks, that is these sticks such that there is no stick on top of them. Stan has noticed that the last thrown stick is always on top but he wants to know all the sticks that are on top. Stan sticks are very, very thin such that their thickness can be neglected.                                                             
                                                                                                                                                                                      

Input

Input consists of a number of cases. The data for each case start with 1 <= n <= 100000, the number of sticks for this case. The following n lines contain four numbers each, these numbers are the planar coordinates of the endpoints of one stick. The sticks are listed in the order in which Stan has thrown them. You may assume that there are no more than 1000 top sticks. The input is ended by the case with n=0. This case should not be processed.

Output

For each input case, print one line of output listing the top sticks in the format given in the sample. The top sticks should be listed in order in which they were thrown.

The picture to the right below illustrates the first case from input.

Sample Input

5
1 1 4 2
2 3 3 1
1 -2.0 8 4
1 4 8 2
3 3 6 -2.0
3
0 0 1 1
1 0 2 1
2 0 3 1
0

Sample Output

Top sticks: 2, 4, 5.
Top sticks: 1, 2, 3.

Hint

Huge input,scanf is recommended.

/***********************************
鏆村姏灝辮錛屼粠絎竴涓紑濮嬪垽鏂?br />濡傛灉涓ゆ潯綰挎鐩鎬氦灝辨妸鍓嶉潰涓鏉$瓫閫夋帀
鍒ゆ柇綰挎鐩鎬氦鐩存帴璐寸殑鍚夊ぇ妯℃澘銆傘傘?br />**********************************
*/

#include 
<iostream>
#include 
<cstdio>
#include 
<cstring>

using namespace std;

const int maxn = 100000 + 5;
const double eps=1e-10;

struct point double x, y; };

point p[maxn], b[maxn];
bool ans[maxn];

double min(double a, double b) return a < b ? a : b; }

double max(double a, double b) return a > b ? a : b; }

bool inter(point a, point b, point c, point d)
{
    
if( min(a.x, b.x) > max(c.x, d.x) ||
        min(a.y, b.y) 
> max(c.y, d.y) ||
        min(c.x, d.x) 
> max(a.x, b.x) ||
        min(c.y, d.y) 
> max(a.y, b.y) )
    
return 0;

    
double h, i, j, k;

    h 
= (b.x - a.x) * (c.y - a.y) - (b.y - a.y) * (c.x - a.x);
    i 
= (b.x - a.x) * (d.y - a.y) - (b.y - a.y) * (d.x - a.x);
    j 
= (d.x - c.x) * (a.y - c.y) - (d.y - c.y) * (a.x - c.x);
    k 
= (d.x - c.x) * (b.y - c.y) - (d.y - c.y) * (b.x - c.x);

    
return h * i <= eps && j * k <= eps;
}


int main()
{
    
int n;
    
int res[maxn];
    
while( cin >> n, n )
    
{
        memset( ans, 
0sizeof( ans ) );
        
forint i = 0; i < n; i++ )
        
{
            cin 
>> p[i].x >> p[i].y >> b[i].x >> b[i].y;
        }


        
forint i = 0; i < n; i++ )
        
{
            
forint j = i + 1; j < n; j++ )
            
{
                
if( inter(p[i], b[i], p[j], b[j] ) )
                
{
                    ans[i] 
= 1;
                    
break;              //涓嶅姞break浼氳秴鏃躲傘傘?/span>
                }

            }

        }

        
int ct = 0;
        cout 
<< "Top sticks: ";
        
forint i = 0; i < n; i++ )
            
if!ans[i] )  res[ct++= i + 1;
        
forint i = 0; i < ct - 1; i++ )
            cout 
<< res[i] << "";
        cout 
<< res[ct-1<< "." << endl;
    }

    
return 0;
}



Vontroy 2010-10-03 16:21 鍙戣〃璇勮
]]>
POJ 1269 Intersecting Lines 鍒ゆ柇鐩寸嚎鐩鎬氦騫舵眰浜ょ偣http://m.shnenglu.com/vontroy/archive/2010/10/03/128429.htmlVontroyVontroySun, 03 Oct 2010 03:03:00 GMThttp://m.shnenglu.com/vontroy/archive/2010/10/03/128429.htmlhttp://m.shnenglu.com/vontroy/comments/128429.htmlhttp://m.shnenglu.com/vontroy/archive/2010/10/03/128429.html#Feedback0http://m.shnenglu.com/vontroy/comments/commentRss/128429.htmlhttp://m.shnenglu.com/vontroy/services/trackbacks/128429.html
Intersecting Lines

Time Limit: 1000MS Memory Limit: 10000K
Total Submissions: 4260 Accepted: 2049

Description

We all know that a pair of distinct points on a plane defines a line and that a pair of lines on a plane will intersect in one of three ways: 1) no intersection because they are parallel, 2) intersect in a line because they are on top of one another (i.e. they are the same line), 3) intersect in a point. In this problem you will use your algebraic knowledge to create a program that determines how and where two lines intersect.
Your program will repeatedly read in four points that define two lines in the x-y plane and determine how and where the lines intersect. All numbers required by this problem will be reasonable, say between -1000 and 1000.

Input

The first line contains an integer N between 1 and 10 describing how many pairs of lines are represented. The next N lines will each contain eight integers. These integers represent the coordinates of four points on the plane in the order x1y1x2y2x3y3x4y4. Thus each of these input lines represents two lines on the plane: the line through (x1,y1) and (x2,y2) and the line through (x3,y3) and (x4,y4). The point (x1,y1) is always distinct from (x2,y2). Likewise with (x3,y3) and (x4,y4).

Output

There should be N+2 lines of output. The first line of output should read INTERSECTING LINES OUTPUT. There will then be one line of output for each pair of planar lines represented by a line of input, describing how the lines intersect: none, line, or point. If the intersection is a point then your program should output the x and y coordinates of the point, correct to two decimal places. The final line of output should read "END OF OUTPUT".

Sample Input

5
0 0 4 4 0 4 4 0
5 0 7 6 1 0 2 3
5 0 7 6 3 -6 4 -3
2 0 2 27 1 5 18 5
0 3 4 0 1 2 2 5

Sample Output

INTERSECTING LINES OUTPUT
POINT 2.00 2.00
NONE
LINE
POINT 2.00 5.00
POINT 1.07 2.20
END OF OUTPUT
/*************************************
璁$畻鍑犱綍鍩虹棰橈紝鍒ゆ柇鐩寸嚎鐩鎬氦鍙婃眰浜ょ偣
娉ㄦ剰鏂滅巼涓嶅瓨鍦ㄧ殑鎯呭喌
*************************************
*/

#include 
<iostream>
#include 
<cstdio>

int main()
{
    
double x1, y1, x2, y2, x3, y3, x4, y4;
    
int n;
    
double k1, k2;
    
double b1, b2;
    
double i_x, i_y;
    scanf(
"%d"&n);
    std::cout 
<< "INTERSECTING LINES OUTPUT" << std::endl;
    
while( n-- )
    
{
        scanf(
"%lf%lf%lf%lf%lf%lf%lf%lf"&x1, &y1, &x2, &y2, &x3, &y3, &x4, &y4);

        
if( x1 != x2 && x3 != x4 )
        
{
            k1 
= ( y2 - y1 ) / ( x2 - x1 );
            k2 
= ( y4 - y3 ) / ( x4 - x3 );
            b1 
= y1 - k1 * x1;
            b2 
= y3 - k2 * x3;
            
if( k1 == k2 )
            
{
                
if( b1 == b2 )
                    printf(
"LINE\n");
                
else
                    printf(
"NONE\n");
            }

            
else
            
{
                i_x 
= (b2 - b1) / (k1 - k2);
                i_y 
= k1 * i_x + b1;
                printf(
"POINT %.2lf %.2lf\n", i_x, i_y);
            }

        }

        
else if( x1 == x2 && x3 == x4 )
        
{
            
if( x1 == x3 )
            std::cout 
<< "LINE\n";
            
else
            std::cout 
<< "NONE\n";
        }

        
else if( x1 == x2 && x3 != x4 )
        
{
            k2 
= ( y4 - y3 ) / ( x4 - x3 );
            b2 
= y3 - k2 * x3;
            i_x 
= x1;
            i_y 
= k2 * x1 + b2;
            printf(
"POINT %.2lf %.2lf\n", i_x, i_y);
        }

        
else
        
{
            k1 
= ( y2 - y1 ) / ( x2 - x1 );
            b1 
= y1 - k1 * x1;
            i_x 
= x3;
            i_y 
= k1 * x3 + b1;
            printf(
"POINT %.2lf %.2lf\n", i_x, i_y);
        }

    }

    std::cout 
<< "END OF OUTPUT\n";
    
return 0;
}



Vontroy 2010-10-03 11:03 鍙戣〃璇勮
]]>
国产精品日韩深夜福利久久| 国产精品99久久99久久久| 久久久免费精品re6| 久久久噜噜噜www成人网| 中文精品久久久久国产网址| 久久久久无码中| 国产成人综合久久精品红| 亚洲国产美女精品久久久久∴| 久久99久久99精品免视看动漫| 久久99精品久久久久久9蜜桃| 亚洲国产成人精品女人久久久| 久久久免费精品re6| 日日狠狠久久偷偷色综合96蜜桃| 中文字幕乱码人妻无码久久| 国产成人久久久精品二区三区 | 亚洲精品蜜桃久久久久久| 久久99精品国产自在现线小黄鸭| 国产免费久久精品丫丫| 狠狠色婷婷久久一区二区| 国产精品久久一区二区三区| 久久久久亚洲AV成人网人人网站 | 欧美与黑人午夜性猛交久久久| 欧美亚洲国产精品久久高清| 久久精品一区二区国产| 久久综合伊人77777| 亚洲精品美女久久久久99| 久久久久国产一区二区 | 久久精品无码一区二区三区免费| 久久偷看各类wc女厕嘘嘘| 亚洲精品97久久中文字幕无码| 国产精品久久久天天影视| 久久精品国产亚洲AV无码麻豆| 怡红院日本一道日本久久| 精品伊人久久大线蕉色首页| 亚洲国产日韩欧美久久| 久久精品亚洲男人的天堂| 精品久久久久久无码中文野结衣| 久久r热这里有精品视频| 天天综合久久久网| 亚洲欧美精品伊人久久| 国产精品综合久久第一页|