⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 toj_2942_test.cpp

📁 Tianjin University Online Judge 的80多道题目 .
💻 CPP
字号:
#include<cstdio>#include<cmath>#include<cstdlib>#include<algorithm>using namespace std;#define MINNUM 1e-10#define MAXNUM 10010struct Point {    double x;    double y;};Point p[ 2 ][ MAXNUM ];int n , m;double minDis;inline int sigDbl( double x ){    if( fabs( x ) < MINNUM )        return 0;    else if(  x  > 0 )        return 1;    else        return -1;}void readP( int aP , int num ){    int i , j;    for( i = 0; i < num; i++ )        scanf( "%lf%lf" , &p[ aP ][ i ].x , &p[ aP ][ i ].y );}inline double dotMul( Point a, Point b ){    return ( a.x * b.x  + a.y * b.y );}inline Point vec( Point a , Point b ){    Point ab;    ab.x = b.x - a.x;    ab.y = b.y - a.y;    return ab;}inline double vecLen( Point a ){    return sqrt(  a.x * a.x + a.y * a.y );}inline double area( Point a , Point b ){    return fabs( a.x * b.y - b.x * a.y );}inline double findDis( Point a , Point b , Point c ){    double s1 , s2;    Point ba , bc , ca;    ba = vec( b , a );    bc = vec( b , c );    ca = vec( c , a );    s1 = dotMul( ba , bc  );    s2 = - dotMul( ca , bc );    if( sigDbl( s1 ) >= 0 && sigDbl( s2 ) >= 0  ){        return  area( ba, ca ) / 2.0 / vecLen( bc );    }    else    	return min( vecLen( ba ) , vecLen( ca ) );/*    else if ( sigDbl( s1 ) < 0 && sigDbl( s2 ) > 0 )        return vecLen( ba );    else        return vecLen( ca );*/}int main(){    int i , j;    while ( scanf( "%d%d" , &n , &m ) && n  && m ){        readP( 0 , n );        readP( 1 , m );        for( i = 0; i < n; i++ )            for( j = 0; j < m; j++ )                printf( "%d%d" , findDis

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -