zoukankan      html  css  js  c++  java
  • CF 13B Letter A

    计算几何;

    这是我见过评测点最少的(CF)题,如图:

    0.0.1.png

    题意

    根据题意

    判断所给的三条线段是否可以构成一个('A'),(值得注意的是题目给出的第三条边的两个顶点不一定在第一和第二两条线段上)

    Idea

    于是我们有了以下三个判断程序:

    ( ext{1.判断是否共线})

    inline bool gong(int a,int b,int c,int d,int e,int f){
    //判断是否在三点是否共线
    	if((f-b)*(c-a)==(d-b)*(e-a)) return 1;
    	return 0;
    }
    

    ( ext{2.判断是否在0—90之间})

    inline bool jia(int x,int y,int a,int b,int c,int d){
    //判断两线段的夹角是否在0~90之间
    	if((a-x)*(c-x)+(b-y)*(d-y)<0) return 0;
    	return 1;
    }
    

    ( ext{3.判断分割的线段 长/段<1/4})

    inline bool dis(int x,int y,int m,int n,int a,int b){
    //判断分割的线段是否 长/短<0.25
    	if(x!=a) if(a>x){
    		if((a-x)*5<(m-x)) return 0;
    		if((a-x)*5>(m-x)*4) return 0;
    		return 1;
    	}
    	else{
    		if((x-a)*5<(x-m)) return 0;
    		if((x-a)*5>(x-m)*4) return 0;
    		return 1;
    	}
    	else if(b>y){
    		if((b-y)*5<(n-y)) return 0;
    		if((b-y)*5>(n-y)*4) return 0;
    		return 1;
    	}
    	else{
    		if((y-b)*5<(y-n)) return 0;
    		if((y-b)*5>(y-n)*4) return 0;
    		return 1;
    	}
    }
    

    模拟过程如下

    for(int i=0;i<2;i++)
    		for(int j=i+1;j<3;j++){
    			if(a[i].x==a[j].x&&a[i].y==a[j].y){
    				x=a[i].x; y=a[i].y;
    				m=a[i].z; n=a[i].zz;
    				p=a[j].z; q=a[j].zz;
    				tot1=i; tot2=j;
    			}
    			else if(a[i].x==a[j].z&&a[i].y==a[j].zz){
    				x=a[i].x; y=a[i].y;
    				m=a[i].z; n=a[i].zz;
    				p=a[j].x; q=a[j].y;
    				tot1=i; tot2=j;
    			}
    			else if(a[i].z==a[j].z&&a[i].zz==a[j].zz){
    				x=a[i].z; y=a[i].zz;
    				m=a[i].x; n=a[i].y;
    				p=a[j].x; q=a[j].y;
    				tot1=i; tot2=j;
    			}
    			else if(a[i].z==a[j].x&&a[i].zz==a[j].y){
    				x=a[i].z; y=a[i].zz;
    				m=a[i].x; n=a[i].y;
    				p=a[j].z; q=a[j].zz;
    				tot1=i; tot2=j;
    			}
    		}
    

    Code

    没有

  • 相关阅读:
    bootmgr is missing
    【转】ahci和IDE的区别
    win10系统故障代码:0xc000014c
    c++小数点后舍入
    关于类里再声明自身类实例的思考
    Java集合
    Python图片转字符画
    102. Binary Tree Level Order Traversal
    1041. Robot Bounded In Circle
    144. Binary Tree Preorder Traversal
  • 原文地址:https://www.cnblogs.com/cbyyc/p/11468531.html
Copyright © 2011-2022 走看看