Codeforces_358A_Dima and Continuous Line(排序+暴力)
来源:互联网 发布:mac word 转pdf 不成功 编辑:程序博客网 时间:2024/04/19 22:36
题型:简单题
题意:给出一些点,按照输入顺序连续用半圆连接每两个点。问最后是否有相交的半圆。
分析:
按照输入顺序将两个点连成的线段存起来,然后快排一下,查找是否有两个线段是相交的(包含的不算),有就说明半圆有相交的。
代码:
#include<iostream>#include<cstdio>#include<cstring>#include<cmath>#include<algorithm>#define MAXN 10000using namespace std;struct Line{ int sta,en;}line[MAXN];bool cmp(Line a,Line b){ if(a.sta==b.sta) return a.en<b.en; return a.sta<b.sta;}int a[MAXN];int main(){ int n; while(~scanf("%d",&n)){ for(int i=0;i<n;i++){ scanf("%d",&a[i]); if(i==0) continue; line[i].sta=a[i-1]; line[i].en=a[i]; if(a[i-1]>a[i]) swap(line[i].sta,line[i].en); } sort(line+1,line+n,cmp); bool flag=false; for(int i=1;i<n;i++){ for(int j=1;j<i;j++){ if(line[j].sta<line[i].sta&&line[i].sta<line[j].en && line[i].sta<line[j].en&&line[j].en<line[i].en){ flag=true; break; } } if(flag) break; } if(!flag) printf("no\n"); else printf("yes\n"); } return 0;}/*40 10 5 1550 1000 2000 3000 1500*/
- Codeforces_358A_Dima and Continuous Line(排序+暴力)
- Codeforces 358A - Dima and Continuous Line 暴力+数学
- A. Dima and Continuous Line
- A. Dima and Continuous Line
- codeforces 358A Dima and Continuous Line(思维简单,做法暴力)
- CF10月25日比赛。(Dima and Continuous Line)
- A. Dima and Continuous Line----思维题
- Codeforces Round #208 (Div. 2) A_ Dima and Continuous Line
- Codeforces Round #208 (Div. 2) A. Dima and Continuous Line
- Codeforces —— 358A Dima and Continuous Line
- CodeForces 358A - Dima and Continuous Line(模拟)
- ZOJ 3768 Continuous Login(暴力或夹逼原理)
- ZOJ-3768:Continuous Login(打表找规律+暴力)
- Codeforces Round #208 (Div. 2) Problem A - Dima and Continuous Line
- POJ-1414 Life Line (暴力搜索)
- CFPetya and Exam(暴力)
- uva 216 Getting in Line(暴力枚举)
- uva 216 Getting in Line (暴力枚举)
- AndroidUI库 -SlidingMenu
- free store 和 heap
- matlab中冒号的用法
- LDD3源码学习日记<五>
- Java封装
- Codeforces_358A_Dima and Continuous Line(排序+暴力)
- 详细讲解二叉树三种遍历方式的递归与非递归实现
- poj 1318 Word Amalgamation
- 由jinja中使用 变量遇到 作用域问题
- 二叉树的非递归遍历
- hadoop分布式文件系统
- 心情很不爽
- TabHost及ActivityGroup的使用总结
- DDOS