文档章节

POJ_2653_Pick-up sticks_線線相交

電泡泡
 電泡泡
发布于 2013/10/08 22:46
字数 259
阅读 92
收藏 0
点赞 0
评论 0
#include <stdio.h>//POJ_2653_Pick-up sticks_線線相交
#include <stdlib.h>
#define EPS 1e-9


struct point{
    double x,y;
};
struct Line{
    point p1,p2;
}line[100002];


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


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


double mulit(point p0,point p1,point p2){
    return (p1.x-p0.x)*(p2.y-p0.y)-(p2.x-p0.x)*(p1.y-p0.y);
}


int cross(Line a,Line b){//判断两线段是否相交
    if(MAX(a.p1.x,a.p2.x)>MIN(b.p1.x,b.p2.x)&&
        MAX(b.p1.x,b.p2.x)>MIN(a.p1.x,a.p2.x)&&
        MAX(a.p1.y,a.p2.y)>MIN(b.p1.y,b.p2.y)&&
        MAX(b.p1.y,b.p2.y)>MIN(a.p1.y,a.p2.y)&&
        mulit(a.p1,a.p2,b.p1)*mulit(a.p1,a.p2,b.p2)<EPS&&
        mulit(b.p1,b.p2,a.p1)*mulit(b.p1,b.p2,a.p2)<EPS)
        return 1;
    return 0;
}


int main(void)
{
    int n,i,j;
    while(1){
        scanf("%d",&n);
        if(n==0)break;
        for(i=1;i<=n;i++){
            scanf("%lf%lf%lf%lf",&line[i].p1.x,&line[i].p1.y,&line[i].p2.x,&line[i].p2.y);
        }
        printf("Top sticks:");
        for(i=1;i<=n-1;i++){
            for(j=i+1;j<=n;j++){
                if(cross(line[i],line[j]))
                    break;
                if(j==n) //若没有其他筷子与其相交,则该筷子是最上面筷子之一


                    printf(" %d,",i);
            }
        }
        printf(" %d.\n",n);
    }
    return 0;
}

 
 
 
 

  
  

© 著作权归作者所有

共有 人打赏支持
電泡泡
粉丝 25
博文 181
码字总数 69717
作品 0
衡阳
在工程图中如何进行虚拟相交点标注

在工程圖中, 線段被[倒圓角]後,如何找出[虛擬相交]點進行標註。請參考以下說明: 1. 打開工程圖任一線段圓角。 2. 將智慧草圖的 [交點] 與 [延伸] 關係勾選。 3. 使用 [間距]標註,類型用 [2...

solidedge ⋅ 2015/09/07 ⋅ 0

netstat 检查异常网络连接

netstat 是一個十分好用的網絡管理工具,而其中一個用途是查看不尋常連線,例如當一個 IP 發送大量連線到伺服器,那麼伺服器很大機會是否遭受 DoS 或 DDoS 攻擊。 以下是一些實用的 netstat ...

鉴客 ⋅ 2014/04/03 ⋅ 0

Andorid Looper入门使用介绍

public class Looper extends Object Class Overview Class used to run a message loop for a thread. Threads by default do not have a message loop associated with them; to create on......

程序袁_绪龙 ⋅ 2015/08/07 ⋅ 0

PyQt 這個問題如何解決 QPixmap: It is not safe to use pixmaps outside the GUI thread

我正在寫一個遠程桌面程序,PyQt的做介面&使用PyQt庫捕獲屏幕,因為需要管理GUI和捕獲屏幕所以我用兩個線程,一個線程管理GUI,另一個線程負責捕獲屏幕和發送圖像但有一個錯誤QPixmap 不能工...

jacklam ⋅ 2013/10/02 ⋅ 0

在 YouTube 網址後面加上 my 就能快速下載、備份影片 Mp4 格式

(Copyright: emevil / 123RF Stock Photo) 很多人會選擇將影片上傳到 YouTube 或 Facebook 分享,即使是使用於個人網站、部落格,也會利用內嵌方式節省流量,不過上傳到網路後必須考量到日...

w116858389 ⋅ 04/06 ⋅ 0

Android开发中的NinePatch圖檔

传统UI开发中,如果背景的大小不一样,一般需要为每种大小都 制作一张图片,这在button中尤为明显。当然我们也可以一小块一小块水平重复的画,也可 以垂直的话。在android中专门有一种叫nin...

囧南风囧 ⋅ 2010/11/26 ⋅ 0

HTC Hero(G3)官方Android 2.1升级发布

来自HTC台湾官网的消息,数次跳票的G3 Hero官方Android 2.1版系统升级今天正式发布。 HTC官网在今天中午更新公告,表示将会提供HTC Hero固件的无线更新,本次更新以空中OTA升级的方式放出,用...

鉴客 ⋅ 2010/06/07 ⋅ 1

DIY穷人版无线电发射台

安裝Linux的raspberry pi一台,第三針腳接上杜邦線 下載腳本並解壓 wget http://www.icrobotics.co.uk/wiki/images/c/c3/Pifm.tar.gz tar -zxvf Pifm.tar.gz 播放自带的聲頻文件sound.wav在1...

litescript ⋅ 2013/07/13 ⋅ 16

freeswitch 分機偵測

請問有辦法不透過撥號方式,就能夠知道現在FREESWITCH上,有哪些分機已經註冊、離線、線上的資訊嗎

honor4088 ⋅ 2014/04/28 ⋅ 1

HTML語法大全

作者:闪吧 標籤 , 屬性名稱 , 簡介 註解 跑馬燈 ...普通捲動 ...滑動 ...預設捲動 ...來回捲動 ...向下捲動

晨曦之光 ⋅ 2012/03/09 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

浅谈springboot Web模式下的线程安全问题

我们在@RestController下,一般都是@AutoWired一些Service,由于这些Service都是单例,所以并不存在线程安全问题。 由于Controller本身是单例模式 (非线程安全的), 这意味着每个request过来,...

算法之名 ⋅ 今天 ⋅ 0

知乎Java数据结构

作者:匿名用户 链接:https://www.zhihu.com/question/35947829/answer/66113038 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 感觉知乎上嘲讽题主简...

颖伙虫 ⋅ 今天 ⋅ 0

Confluence 6 恢复一个站点有关使用站点导出为备份的说明

推荐使用生产备份策略。我们推荐你针对你的生产环境中使用的 Confluence 参考 Production Backup Strategy 页面中的内容进行备份和恢复(这个需要你备份你的数据库和 home 目录)。XML 导出备...

honeymose ⋅ 今天 ⋅ 0

JavaScript零基础入门——(九)JavaScript的函数

JavaScript零基础入门——(九)JavaScript的函数 欢迎回到我们的JavaScript零基础入门,上一节课我们了解了有关JS中数组的相关知识点,不知道大家有没有自己去敲一敲,消化一下?这一节课,...

JandenMa ⋅ 今天 ⋅ 0

火狐浏览器各版本下载及插件httprequest

各版本下载地址:http://ftp.mozilla.org/pub/mozilla.org//firefox/releases/ httprequest插件截至57版本可用

xiaoge2016 ⋅ 今天 ⋅ 0

Docker系列教程28-实战:使用Docker Compose运行ELK

原文:http://www.itmuch.com/docker/28-docker-compose-in-action-elk/,转载请说明出处。 ElasticSearch【存储】 Logtash【日志聚合器】 Kibana【界面】 答案: version: '2'services: ...

周立_ITMuch ⋅ 今天 ⋅ 0

使用快嘉sdkg极速搭建接口模拟系统

在具体项目研发过程中,一旦前后端双方约定好接口,前端和app同事就会希望后台同事可以尽快提供可供对接的接口方便调试,而对后台同事来说定好接口还仅是个开始、设计流程,实现业务逻辑,编...

fastjrun ⋅ 今天 ⋅ 0

PXE/KickStart 无人值守安装

导言 作为中小公司的运维,经常会遇到一些机械式的重复工作,例如:有时公司同时上线几十甚至上百台服务器,而且需要我们在短时间内完成系统安装。 常规的办法有什么? 光盘安装系统 ===> 一...

kangvcar ⋅ 昨天 ⋅ 0

使用Puppeteer撸一个爬虫

Puppeteer是什么 puppeteer是谷歌chrome团队官方开发的一个无界面(Headless)chrome工具。Chrome Headless将成为web应用自动化测试的行业标杆。所以我们很有必要来了解一下它。所谓的无头浏...

小草先森 ⋅ 昨天 ⋅ 0

Java Done Right

* 表示难度较大或理论性较强。 ** 表示难度更大或理论性更强。 【Java语言本身】 基础语法,面向对象,顺序编程,并发编程,网络编程,泛型,注解,lambda(Java8),module(Java9),var(...

风华神使 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部