国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Hrbust 2178 線段【暴力】水題

2019-11-10 17:01:20
字體:
來源:轉載
供稿:網友

線段
Time Limit: 1000 MSMemory Limit: 32768 K
Total Submit: 99(44 users)Total Accepted: 43(39 users)Rating: Special Judge: No
Description

坐標軸上有一些點,依次給出。點與點之間要求用一個半圓的直徑連接,即把這兩個點作為連接他們的半圓的直徑的兩個端點。第一個點與第二個點連,第二個與第三個連。半圓不能在坐標軸下面。問最后連出的圖形,是否存在兩個半圓他們是交叉的。

Input

多組測試數據。

每組測試數據的第一行有一個數n(1 ≤ n ≤ 1000),表示有n個點。

之后一行有n個數x1,?x2,?...,?xn (?-?10^6 ≤ xi ≤ 10^6),每個數表示該點在坐標軸的位置。
Output

如果最后的圖形有交叉,輸出yes,如果沒有,輸出no。

Sample Input

4

0 10 5 15

4

0 15 5 10

Sample Output

yes

no

Source
2014.11.29新生賽-熱身賽

思路:

直接將每個區間處理出來,然后O(n^2)暴力判斷兩個區間是否相交即可。

Ac代碼:

#include<stdio.h>#include<string.h>#include<iostream>using namespace std;struct node{    int l,r;}b[105000];int a[10500];int main(){    int n;    while(~scanf("%d",&n))    {        int cont=0;        for(int i=0;i<n;i++)        {            scanf("%d",&a[i]);            if(i>0)            {                b[cont].l=min(a[i-1],a[i]);                b[cont].r=max(a[i-1],a[i]);                cont++;            }        }        int flag=0;        for(int i=0;i<cont;i++)        {            for(int j=i+1;j<cont;j++)            {                if(b[j].l>b[i].l&&b[j].l<b[i].r&&b[j].r>b[i].r)                {                    flag=1;                }                if(b[j].r>b[i].l&&b[j].r<b[i].r&&b[j].l<b[i].l)flag=1;            }        }        if(flag==1)PRintf("yes/n");        else printf("no/n");    }}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 库伦旗| 十堰市| 涪陵区| 彩票| 丹阳市| 东兴市| 精河县| 清流县| 鄄城县| 芜湖市| 天祝| 平舆县| 宁强县| 上栗县| 化州市| 确山县| 那曲县| 南溪县| 苍溪县| 绥阳县| 五河县| 诸城市| 杭州市| 长葛市| 雅江县| 亳州市| 阳高县| 广元市| 克拉玛依市| 平泉县| 天台县| 比如县| 洪雅县| 西平县| 江津市| 绵竹市| 和龙市| 铜川市| 轮台县| 溆浦县| 八宿县|