hdu 2150 水题,我真系好无语咯
来源:互联网 发布:windows caffe2 编译 编辑:程序博客网 时间:2024/06/08 16:48
我WA,他AC,无语…………………………………………………………………………………………
我的代码:
#include<iostream>#include<cmath>#define N 35#define K 105using namespace std;class cor{public:int x,y;};int drection(cor& a,cor& b,cor& c){return (c.x-a.x)*(b.y-a.y)-(b.x-a.x)*(c.y-a.y);}bool on_segment(cor& a,cor& b,cor& c){return (min(a.x,b.x) <= c.x && c.x <= max(a.x,b.x))&&((min(a.y,b.y) <= c.y)&&(c.y <= max(a.y,b.y)));}bool judge(cor& p1,cor& p2,cor& p3,cor& p4){int d1 = drection(p1,p2,p3);int d2 = drection(p1,p2,p4);int d3 = drection(p3,p4,p1);int d4 = drection(p3,p4,p2);if((d1*d2 < 0) && (d3*d4 < 0))return true;else if(!d1 && on_segment(p1,p2,p3))return true;else if(!d2 && on_segment(p1,p2,p4))return true;else if(!d3 && on_segment(p3,p4,p1))return true;else if(!d4 && on_segment(p3,p4,p2))return true;else return false;}int main(){cor pipe[N][K];int k[K];int n;while(cin >>n){bool flag = true;for(int i = 0;i < n;i++){cin >>k[i];for(int j = 0;j < k[i];j++){cin >>pipe[i][j].x >>pipe[i][j].y;}}for(int i = 0;i < n;i++){for(int j = i+1;j < n;j++){for(int s = 0;s < k[i]-1;s++){for(int t = 0;t < k[j]-1;t++){if(judge(pipe[i][s],pipe[i][s+1],pipe[j][t],pipe[j][t+1])){flag = false;break;}}}}}if(flag)cout <<"No" <<endl;elsecout <<"Yes" <<endl;}return 0;}
他的代码:
#include<stdio.h>struct pipe{int point;int x[101];int y[101];}a[30];int max(int a,int b){if(a>b) {return a;}else{return b;}}int min(int a,int b){if(a>b) {return a;}else{return b;}}int dic(int x1,int y1,int x2,int y2,int x3,int y3){int n;n=(x3-x1)*(y2-y1)-(x2-x1)*(y3-y1);return n;}int onse(int xi,int yi,int xj,int yj,int xk,int yk){if((min(xi,xj)<=xk&&xk<=max(xi,xj))&&(min(yi,yj)<=yk&&yk<=max(yi,yj))){return 1;}else{return 0;}}int cross(int x1,int y1,int x2,int y2,int x3,int y3,int x4,int y4){int d1,d2,d3,d4;d1=dic(x3,y3,x4,y4,x1,y1);d2=dic(x3,y3,x4,y4,x2,y2);d3=dic(x1,y1,x2,y2,x3,y3);d4=dic(x1,y1,x2,y2,x4,y4);if(((d1>0&&d2<0)||(d1<0&&d2>0))&&((d3>0&&d4<0)||(d3<0&&d4>0))){return 1;}else if(d1==0&&onse(x3,y3,x4,y4,x1,y1)){return 1;}else if(d2==0&&onse(x3,y3,x4,y4,x2,y2)){return 1;}else if(d3==0&&onse(x1,y1,x2,y2,x3,y3)){return 1;}else if(d4==0&&onse(x1,y1,x2,y2,x4,y4)){return 1;}else{return 0;}}int main(void){int n,cros;int i,j,k,b;while(scanf("%d",&n)==1){ cros=0; for(i=0;i<n;i++) { scanf("%d",&a[i].point); for(j=0;j<a[i].point;j++) { scanf("%d%d",&a[i].x[j],&a[i].y[j]); } } for(i=0;i<n;i++) { for(j=i+1;j<n;j++) { for(k=0;k<a[i].point-1;k++) { for(b=0;b<a[j].point-1;b++) { if(cross(a[i].x[k],a[i].y[k],a[i].x[k+1],a[i].y[k+1],a[j].x[b],a[j].y[b],a[j].x[b+1],a[j].y[b+1])) {cros=1;} } } } } if(cros) { printf("Yes\n");} else { printf("No\n");}}return 0;}
- hdu 2150 水题,我真系好无语咯
- acm hdu p2148 坑死我了 水题 Score
- hdu 0000 我的计划
- Rescue hdu 1242 很纠结?谁来帮我..
- HDU 2520 我是菜鸟,我怕谁
- HDU 2520 我是菜鸟,我怕谁
- HDU 2520 我是菜鸟,我怕谁
- hdu-2520-我是菜鸟,我怕谁
- HDU 2520 我是菜鸟,我怕谁
- HDU 2520 我是菜鸟,我怕谁
- 我的割边模板HDU 3849
- hdu-2520-我是菜鸟,我怕谁
- HDU 2520 我是菜鸟,我怕谁
- HDU-2520-我是菜鸟,我怕谁
- HDU 2520 我是菜鸟我怕谁
- HDU 2520 我是菜鸟,我怕谁
- HDU 2520 我是菜鸟,我怕谁
- hdu 2520 我是菜鸟我怕谁
- C99新特性(3)
- 二十年风雨之杯具的读书之路
- MySQL的FIND_IN_SET函数使用方法
- 大学泡妞杂谈
- 裘宗燕:C_C++ 语言中的表达式求值 .
- hdu 2150 水题,我真系好无语咯
- H.264句法和语法总结(一)句法元素的分层结构
- C++面试题
- eclipse颜色设置相关
- 多校第七场ECNU 1006 HDU 3905 Sleeping (二维DP)
- H.264句法和语法总结(二)NAL层句法
- PHP,javascript,html,css
- Bad version number in .class file
- H.264句法和语法总结(三)序列参数集层(SPS)句法