青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

直接按照題目意思模擬即可。關鍵是需要實現有理數運算。我的方法是重載運算符。

 

/*************************************************************************
Author: WHU_GCC
Created Time: 2007-10-21 12:25:06
File Name: g.cpp
Description: 
***********************************************************************
*/

#include 
<iostream>
using namespace std;
#define out(x) (cout<<#x<<": "<<x<<endl)
const int maxint=0x7FFFFFFF;
typedef 
long long int64;
const int64 maxint64 = 0x7FFFFFFFFFFFFFFFLL;
template
<class T>void show(T a, int n){for(int i=0; i<n; ++i) cout<<a[i]<<' '; cout<<endl;}
template
<class T>void show(T a, int r, int l){for(int i=0; i<r; ++i)show(a[i],l);cout<<endl;}

struct real
{
    int64 a, b;
}
;

struct point
{
    real x, y;
}
;

int64 gcd(int64 a, int64 b)
{
    
return b == 0 ? a : gcd(b, a % b);
}


int64 lcm(int64 a, int64 b)
{
    
return a / gcd(a, b) * b;
}


real 
operator +(real a, real b)
{
    int64 l 
= lcm(a.b, b.b);
    real ret;
    ret.a 
= a.a * l / a.b + b.a * l / b.b;
    ret.b 
= l;
    
return ret;
}


real 
operator -(real a, real b)
{
    int64 l 
= lcm(a.b, b.b);
    real ret;
    ret.a 
= a.a * l / a.b - b.a * l / b.b;
    ret.b 
= l;
    
return ret;    
}


real 
operator *(real a, real b)
{
    int64 g1 
= gcd(a.b, b.a), g2 = gcd(a.a, b.b);
    real ret;
    ret.a 
= a.a / g2 * (b.a / g1);
    ret.b 
= a.b / g1 * (b.b / g2);
    
return ret;
}


real 
operator /(real a, real b)
{
    swap(b.a, b.b);
    
return a * b;
}


real cross(real a, real b, real c, real d)
{
    
return a * d - b * c;
}


bool operator ==(real a, real b)
{
    
return a.a == b.a && a.b == b.b;
}


bool operator ==(point a, point b)
{
    
return a.x == b.x && a.y == b.y;
}


point inter(point p1, point p2, point p3, point p4)
{
    real a11 
= p2.y - p1.y;
    real a12 
= p1.x - p2.x;
    real a21 
= p4.y - p3.y;
    real a22 
= p3.x - p4.x;
    real b1 
= p1.x * p2.y - p2.x * p1.y;
    real b2 
= p3.x * p4.y - p4.x * p3.y;
    point ret;
    ret.x 
= cross(b1, a12, b2, a22) / cross(a11, a12, a21, a22);
    ret.y 
= cross(a11, b1, a12, b2) / cross(a11, a12, a21, a22);
    
return ret;
}


point p[
1000];

int main()
{
    
int n, m;
    scanf(
"%d"&n);
    
for (int i = 0; i < n; i++)
    
{
        
int t1, t2;
        scanf(
"%d%d"&t1, &t2);
        p[i].x.a 
= t1;
        p[i].x.b 
= 1;
        p[i].y.a 
= t2;
        p[i].y.b 
= 1;
    }

    scanf(
"%d"&m);
    
int ans = 0;
    
for (int i = 0; i < m; i++)
    
{
        
int t1, t2, t3, t4;
        scanf(
"%d%d%d%d"&t1, &t2, &t3, &t4);
        t1
--;
        t2
--;
        t3
--;
        t4
--;
        point t 
= inter(p[t1], p[t2], p[t3], p[t4]);
        
int flag = 1;
        
for (int j = 0; j < n; j++)
            
if (t == p[j])
            
{
                flag 
= 0;
                
break;
            }

        
if (flag)
            p[n
++= t;
        
if (ans == 0 && t.x.a == 0 && t.y.a == 0)
            ans 
= i + 1;
    }

    printf(
"%d\n", ans);
    
return 0;
}
posted on 2007-10-22 13:50 Felicia 閱讀(620) 評論(3)  編輯 收藏 引用 所屬分類: 計算幾何
Comments
  • # re: [計算幾何]pku3429
    dfd
    Posted @ 2009-04-30 13:33
    ret.x = cross(b1, a12, b2, a22) / cross(a11, a12, a21, a22);
    ret.y = cross(a11, b1, a12, b2) / cross(a11, a12, a21, a22);

    這里的ret.y 不是等于cross(a11,b1,a21,b2)  回復  更多評論   
  • # re: [計算幾何]pku3429
    neko13
    Posted @ 2012-03-30 23:14
    分數加法溢出了  回復  更多評論   
  • # re: [計算幾何]pku3429
    neko13
    Posted @ 2012-03-30 23:14
    Real operator + (Real a, Real b) {
    int64 l = Lcm(a.den, b.den);
    Real ret;
    ret.num = a.num*l/a.den + b.num*l/b.den;
    ret.den = l;

    int64 g = Gcd(ret.num, ret.den);
    ret.num /= g;
    ret.den /= g;
    return ret;
    }
    ////////////////////

    Real dy = Det(a11, b1,
    a21, b2);  回復  更多評論   
 
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            99精品视频免费全部在线| 在线一区二区三区四区五区| 免费欧美高清视频| 久久视频在线看| 久久久青草青青国产亚洲免观| 久久九九久久九九| 久久综合综合久久综合| 欧美成人精品一区二区三区| 欧美久久影院| 国产精品自在欧美一区| 在线亚洲美日韩| 一区精品在线播放| 亚洲欧洲一区二区三区| 亚洲三级视频| 欧美中文在线观看| 欧美电影免费观看高清完整版| 亚洲电影免费观看高清完整版在线| 欧美成人高清| 亚洲视频导航| 久久一区中文字幕| 欧美午夜理伦三级在线观看| 国产亚洲精品久久久久动| 91久久久久| 欧美一级淫片播放口| 欧美大片91| 亚洲欧美中日韩| 欧美成人网在线| 国产综合欧美| 国产精品99久久久久久www| 久久久久久久久久码影片| 亚洲美女区一区| 久热这里只精品99re8久| 国产精品亚洲综合天堂夜夜| 亚洲日本中文字幕区| 久久久免费精品视频| 中文在线一区| 欧美人与禽猛交乱配| 亚洲二区免费| 久久久精品动漫| 亚洲婷婷国产精品电影人久久| 欧美成人a视频| 狠狠色丁香婷婷综合久久片| 亚洲欧美另类在线观看| 亚洲三级视频| 欧美国产91| 亚洲第一页在线| 久久综合久久综合这里只有精品 | 国产精品久久77777| 亚洲国产高清在线观看视频| 久久精品亚洲精品| 中文精品一区二区三区| 欧美日韩精品系列| 亚洲精品一区二区三区在线观看| 免费看av成人| 久久成人羞羞网站| 国产亚洲一区二区三区| 午夜精品亚洲| 亚洲一区二区三区高清| 国产精品国产三级国产aⅴ无密码| 亚洲免费观看高清完整版在线观看熊| 欧美wwwwww| 欧美ab在线视频| 一本久道久久久| 亚洲乱码国产乱码精品精可以看| 欧美成年人视频网站| 亚洲另类视频| 99pao成人国产永久免费视频| 欧美在线在线| 久久人人爽爽爽人久久久| 午夜欧美大尺度福利影院在线看| 国产精品区一区| 篠田优中文在线播放第一区| 亚洲一区二区在线看| 国产伦理精品不卡| 久久蜜桃资源一区二区老牛| 久久综合久色欧美综合狠狠| 亚洲伦理一区| 一本色道久久综合精品竹菊| 国产精品乱码一区二三区小蝌蚪| 午夜久久资源| 久久gogo国模裸体人体| 亚洲人成小说网站色在线| 一区二区三区欧美在线| 国语精品中文字幕| 亚洲精品久久久蜜桃| 国产精品网站一区| 欧美国产日韩亚洲一区| 欧美午夜大胆人体| 久久综合国产精品| 欧美日韩午夜精品| 久久久国产精品亚洲一区| 免费观看日韩av| 午夜精品视频网站| 久色婷婷小香蕉久久| 亚洲综合成人在线| 免播放器亚洲| 久久久精品999| 欧美涩涩视频| 久久综合九色综合久99| 欧美四级剧情无删版影片| 免费成人高清在线视频| 国产精品va在线播放| 亚洲成在线观看| 国产综合自拍| 亚洲天堂av在线免费| 亚洲欧洲日本国产| 久久精品国产亚洲a| 亚洲一区二区在线视频| 看片网站欧美日韩| 久久国产婷婷国产香蕉| 欧美日本不卡| 欧美国产国产综合| 狠狠色狠狠色综合日日tαg| 亚洲欧美日韩视频一区| 亚洲自拍偷拍色片视频| 欧美剧在线观看| 老牛影视一区二区三区| 国产精品入口夜色视频大尺度 | 亚洲乱码国产乱码精品精可以看 | 亚洲一二三区精品| 在线欧美三区| 久久精品一级爱片| 久久久国产91| 国产一区二区三区日韩| 亚洲午夜小视频| 亚洲国内欧美| 久久久久亚洲综合| 久热精品视频在线| 久久字幕精品一区| 国产综合视频| 久久精品亚洲热| 久久久免费av| 国内精品美女av在线播放| 午夜精品电影| 久久激情久久| 国产精品一区二区视频| 亚洲综合三区| 久久av一区| 国产揄拍国内精品对白| 欧美一区观看| 久久久一二三| 在线观看成人小视频| 久久久夜夜夜| 亚洲国产精品黑人久久久| 亚洲精品视频在线| 欧美日韩精品久久| 亚洲欧美变态国产另类| 久久免费精品视频| 亚洲成色www久久网站| 欧美sm视频| 在线亚洲欧美视频| 久久久国产亚洲精品| 亚洲经典三级| 国产精品福利在线观看| 欧美一区二区三区播放老司机| 老牛影视一区二区三区| 99精品视频网| 国产欧美日韩精品一区| 久久一区二区精品| 一区二区三区精品视频| 久久久亚洲精品一区二区三区| 亚洲国产精品嫩草影院| 欧美视频在线观看 亚洲欧| 亚洲欧美日韩国产中文| 欧美大片免费久久精品三p| 亚洲网友自拍| 影音先锋久久精品| 欧美日韩色综合| 久久不见久久见免费视频1| 亚洲国产欧美在线 | 老司机午夜精品视频| 亚洲精品网址在线观看| 国产精品视频一区二区高潮| 久久免费偷拍视频| 一区二区三区高清不卡| 另类专区欧美制服同性| 中日韩美女免费视频网址在线观看| 国产精品美女久久久久av超清 | 欧美在线一二三四区| 亚洲欧洲另类| 久久视频在线看| 这里是久久伊人| 一区二区三区在线观看欧美| 欧美日韩你懂的| 另类激情亚洲| 欧美一区二区三区在线看| 日韩一区二区精品| 欧美国产精品| 榴莲视频成人在线观看| 亚洲男人天堂2024| 亚洲黄色在线看| 韩国精品在线观看| 国产日韩在线亚洲字幕中文| 久久都是精品| 欧美丝袜一区二区三区| 免费欧美网站| 久久久99久久精品女同性| 亚洲综合日本| 亚洲一区二区三区视频| 亚洲日产国产精品|