F.A.Q
Hand In Hand
Online Acmers
Problem Archive
Realtime Judge Status
Authors Ranklist
 
     C/C++/Java Exams     
ACM Steps
Go to Job
Contest LiveCast
ICPC@China
Best Coder beta
VIP | STD Contests
    DIY | Web-DIY beta
Author ID 
Password 
 Register new ID

View Compilation Error

0_0_20614205_27120.cpp:4:27: error: stray '#' in program
     using namespace std ; #define REP( i , a , b ) for ( int i = ( a ) ; i <  ( b ) ; ++ i )#define FOR( i , a , b ) for ( int i = ( a ) ; i <= ( b ) ; ++ i )#define REV( i , a , b ) for ( int i = ( a ) ; i >= ( b ) ; -- i )#define travel( e , H , u ) for ( Edge* e = H[u] ; e ; e = e -> next )#define CLR( a , x ) memset ( a , x , sizeof a ) typedef long long LL ; const int MAXN = 55 ;const int MAXE = 205 ;const double INF = 1e10 ;const double eps = 1e-8 ; struct Edge {    int v ;    double c ;    Edge* next ;} E[MAXE] , *H[MAXN] , *cur ; struct Line {    int x , y , a , b ;    double v ;    void input () {        scanf ( "%d%d%d%d" , &x , &y , &a , &b ) ;    }    bool operator < ( const Line& p ) const {        return v > p.v ;    }} L[MAXE] ; int n , m , t ;int p[MAXN] ;double f[MAXN] ;double a[10005] ;int cnt ;double st , ed , ans ; int sgn ( double x ) {    return ( x > eps ) - ( x < -eps ) ;} void clear () {    cur = E ;    CLR ( H , 0 ) ;     FOR ( i , 1 , n ) {        p[i] = i ;        f[i] = INF ;    }} void addedge ( int u , int v , double c ) {    cur -> v = v ;    cur -> c = c ;    cur -> next = H[u] ;    H[u] = cur ++ ;} int find ( int x ) {    return p[x] == x ? x : ( p[x] = find ( p[x] ) ) ;} void kruskal () {    sort ( L , L + m ) ;    int cnt = 1 ;    REP ( i , 0 , m ) {        int x = find ( L[i].x ) ;        int y = find ( L[i].y ) ;        if ( x != y ) {            p[x] = y ;            addedge ( L[i].x , L[i].y , L[i].v ) ;            addedge ( L[i].y , L[i].x , L[i].v ) ;            if ( ++ cnt == n ) break ;        }    }} void dfs ( int u , int fa ) {    travel ( e , H , u ) {        int v = e -> v ;        if ( v == fa ) continue ;        f[v] = min ( f[u] , e -> c ) ;        dfs ( v , u ) ;    }} int unique ( int n ) {    int cnt = 1 ;    sort ( a + 1 , a + n + 1 ) ;    FOR ( i , 2 , n ) if ( sgn ( a[i] - a[cnt] ) ) a[++ cnt] = a[i] ;    return cnt ;} void solve () {    ans = 0 ;    cnt = 0 ;    scanf ( "%d%d%d" , &n , &m , &t ) ;    REP ( i , 0 , m ) {        L[i].input () ;        REP ( j , 0 , i ) {            if ( L[i].b == L[j].b ) continue ;            a[++ cnt] = ( double ) ( L[i].a - L[j].a ) / ( L[j].b - L[i].b ) ;        }    }    a[++ cnt] = t ;    cnt = unique ( cnt ) ;    st = 0 ;    FOR ( i , 1 , cnt ) {        if ( a[i] < 0 ) continue ;        if ( a[i] > t ) break ;        ed = a[i] ;        double mid = ( st + ed ) / 2 ;        REP ( j , 0 , m ) L[j].v = L[j].a + L[j].b * mid ;        clear () ;        kruskal () ;        dfs ( 1 , 0 ) ;        FOR ( j , 2 , n ) ans += f[j] * ( ed - st ) ;        st = ed ;    }    printf ( "%.3f\n" , ans / t ) ;} int main () {    int T ;    scanf ( "%d" , &T ) ;    while ( T -- ) solve () ;    return 0 ;}
                           ^
0_0_20614205_27120.cpp:4:93: error: stray '#' in program
     using namespace std ; #define REP( i , a , b ) for ( int i = ( a ) ; i <  ( b ) ; ++ i )#define FOR( i , a , b ) for ( int i = ( a ) ; i <= ( b ) ; ++ i )#define REV( i , a , b ) for ( int i = ( a ) ; i >= ( b ) ; -- i )#define travel( e , H , u ) for ( Edge* e = H[u] ; e ; e = e -> next )#define CLR( a , x ) memset ( a , x , sizeof a ) typedef long long LL ; const int MAXN = 55 ;const int MAXE = 205 ;const double INF = 1e10 ;const double eps = 1e-8 ; struct Edge {    int v ;    double c ;    Edge* next ;} E[MAXE] , *H[MAXN] , *cur ; struct Line {    int x , y , a , b ;    double v ;    void input () {        scanf ( "%d%d%d%d" , &x , &y , &a , &b ) ;    }    bool operator < ( const Line& p ) const {        return v > p.v ;    }} L[MAXE] ; int n , m , t ;int p[MAXN] ;double f[MAXN] ;double a[10005] ;int cnt ;double st , ed , ans ; int sgn ( double x ) {    return ( x > eps ) - ( x < -eps ) ;} void clear () {    cur = E ;    CLR ( H , 0 ) ;     FOR ( i , 1 , n ) {        p[i] = i ;        f[i] = INF ;    }} void addedge ( int u , int v , double c ) {    cur -> v = v ;    cur -> c = c ;    cur -> next = H[u] ;    H[u] = cur ++ ;} int find ( int x ) {    return p[x] == x ? x : ( p[x] = find ( p[x] ) ) ;} void kruskal () {    sort ( L , L + m ) ;    int cnt = 1 ;    REP ( i , 0 , m ) {        int x = find ( L[i].x ) ;        int y = find ( L[i].y ) ;        if ( x != y ) {            p[x] = y ;            addedge ( L[i].x , L[i].y , L[i].v ) ;            addedge ( L[i].y , L[i].x , L[i].v ) ;            if ( ++ cnt == n ) break ;        }    }} void dfs ( int u , int fa ) {    travel ( e , H , u ) {        int v = e -> v ;        if ( v == fa ) continue ;        f[v] = min ( f[u] , e -> c ) ;        dfs ( v , u ) ;    }} int unique ( int n ) {    int cnt = 1 ;    sort ( a + 1 , a + n + 1 ) ;    FOR ( i , 2 , n ) if ( sgn ( a[i] - a[cnt] ) ) a[++ cnt] = a[i] ;    return cnt ;} void solve () {    ans = 0 ;    cnt = 0 ;    scanf ( "%d%d%d" , &n , &m , &t ) ;    REP ( i , 0 , m ) {        L[i].input () ;        REP ( j , 0 , i ) {            if ( L[i].b == L[j].b ) continue ;            a[++ cnt] = ( double ) ( L[i].a - L[j].a ) / ( L[j].b - L[i].b ) ;        }    }    a[++ cnt] = t ;    cnt = unique ( cnt ) ;    st = 0 ;    FOR ( i , 1 , cnt ) {        if ( a[i] < 0 ) continue ;        if ( a[i] > t ) break ;        ed = a[i] ;        double mid = ( st + ed ) / 2 ;        REP ( j , 0 , m ) L[j].v = L[j].a + L[j].b * mid ;        clear () ;        kruskal () ;        dfs ( 1 , 0 ) ;        FOR ( j , 2 , n ) ans += f[j] * ( ed - st ) ;        st = ed ;    }    printf ( "%.3f\n" , ans / t ) ;} int main () {    int T ;    scanf ( "%d" , &T ) ;    while ( T -- ) solve () ;    return 0 ;}
                                                                                             ^
0_0_20614205_27120.cpp:4:159: error: stray '#' in program
     using namespace std ; #define REP( i , a , b ) for ( int i = ( a ) ; i <  ( b ) ; ++ i )#define FOR( i , a , b ) for ( int i = ( a ) ; i <= ( b ) ; ++ i )#define REV( i , a , b ) for ( int i = ( a ) ; i >= ( b ) ; -- i )#define travel( e , H , u ) for ( Edge* e = H[u] ; e ; e = e -> next )#define CLR( a , x ) memset ( a , x , sizeof a ) typedef long long LL ; const int MAXN = 55 ;const int MAXE = 205 ;const double INF = 1e10 ;const double eps = 1e-8 ; struct Edge {    int v ;    double c ;    Edge* next ;} E[MAXE] , *H[MAXN] , *cur ; struct Line {    int x , y , a , b ;    double v ;    void input () {        scanf ( "%d%d%d%d" , &x , &y , &a , &b ) ;    }    bool operator < ( const Line& p ) const {        return v > p.v ;    }} L[MAXE] ; int n , m , t ;int p[MAXN] ;double f[MAXN] ;double a[10005] ;int cnt ;double st , ed , ans ; int sgn ( double x ) {    return ( x > eps ) - ( x < -eps ) ;} void clear () {    cur = E ;    CLR ( H , 0 ) ;     FOR ( i , 1 , n ) {        p[i] = i ;        f[i] = INF ;    }} void addedge ( int u , int v , double c ) {    cur -> v = v ;    cur -> c = c ;    cur -> next = H[u] ;    H[u] = cur ++ ;} int find ( int x ) {    return p[x] == x ? x : ( p[x] = find ( p[x] ) ) ;} void kruskal () {    sort ( L , L + m ) ;    int cnt = 1 ;    REP ( i , 0 , m ) {        int x = find ( L[i].x ) ;        int y = find ( L[i].y ) ;        if ( x != y ) {            p[x] = y ;            addedge ( L[i].x , L[i].y , L[i].v ) ;            addedge ( L[i].y , L[i].x , L[i].v ) ;            if ( ++ cnt == n ) break ;        }    }} void dfs ( int u , int fa ) {    travel ( e , H , u ) {        int v = e -> v ;        if ( v == fa ) continue ;        f[v] = min ( f[u] , e -> c ) ;        dfs ( v , u ) ;    }} int unique ( int n ) {    int cnt = 1 ;    sort ( a + 1 , a + n + 1 ) ;    FOR ( i , 2 , n ) if ( sgn ( a[i] - a[cnt] ) ) a[++ cnt] = a[i] ;    return cnt ;} void solve () {    ans = 0 ;    cnt = 0 ;    scanf ( "%d%d%d" , &n , &m , &t ) ;    REP ( i , 0 , m ) {        L[i].input () ;        REP ( j , 0 , i ) {            if ( L[i].b == L[j].b ) continue ;            a[++ cnt] = ( double ) ( L[i].a - L[j].a ) / ( L[j].b - L[i].b ) ;        }    }    a[++ cnt] = t ;    cnt = unique ( cnt ) ;    st = 0 ;    FOR ( i , 1 , cnt ) {        if ( a[i] < 0 ) continue ;        if ( a[i] > t ) break ;        ed = a[i] ;        double mid = ( st + ed ) / 2 ;        REP ( j , 0 , m ) L[j].v = L[j].a + L[j].b * mid ;        clear () ;        kruskal () ;        dfs ( 1 , 0 ) ;        FOR ( j , 2 , n ) ans += f[j] * ( ed - st ) ;        st = ed ;    }    printf ( "%.3f\n" , ans / t ) ;} int main () {    int T ;    scanf ( "%d" , &T ) ;    while ( T -- ) solve () ;    return 0 ;}
                                                                                                                                                               ^
0_0_20614205_27120.cpp:4:225: error: stray '#' in program
     using namespace std ; #define REP( i , a , b ) for ( int i = ( a ) ; i <  ( b ) ; ++ i )#define FOR( i , a , b ) for ( int i = ( a ) ; i <= ( b ) ; ++ i )#define REV( i , a , b ) for ( int i = ( a ) ; i >= ( b ) ; -- i )#define travel( e , H , u ) for ( Edge* e = H[u] ; e ; e = e -> next )#define CLR( a , x ) memset ( a , x , sizeof a ) typedef long long LL ; const int MAXN = 55 ;const int MAXE = 205 ;const double INF = 1e10 ;const double eps = 1e-8 ; struct Edge {    int v ;    double c ;    Edge* next ;} E[MAXE] , *H[MAXN] , *cur ; struct Line {    int x , y , a , b ;    double v ;    void input () {        scanf ( "%d%d%d%d" , &x , &y , &a , &b ) ;    }    bool operator < ( const Line& p ) const {        return v > p.v ;    }} L[MAXE] ; int n , m , t ;int p[MAXN] ;double f[MAXN] ;double a[10005] ;int cnt ;double st , ed , ans ; int sgn ( double x ) {    return ( x > eps ) - ( x < -eps ) ;} void clear () {    cur = E ;    CLR ( H , 0 ) ;     FOR ( i , 1 , n ) {        p[i] = i ;        f[i] = INF ;    }} void addedge ( int u , int v , double c ) {    cur -> v = v ;    cur -> c = c ;    cur -> next = H[u] ;    H[u] = cur ++ ;} int find ( int x ) {    return p[x] == x ? x : ( p[x] = find ( p[x] ) ) ;} void kruskal () {    sort ( L , L + m ) ;    int cnt = 1 ;    REP ( i , 0 , m ) {        int x = find ( L[i].x ) ;        int y = find ( L[i].y ) ;        if ( x != y ) {            p[x] = y ;            addedge ( L[i].x , L[i].y , L[i].v ) ;            addedge ( L[i


Hangzhou Dianzi University Online Judge 3.0
Copyright © 2005-2024 HDU ACM Team. All Rights Reserved.
Designer & Developer : Wang Rongtao LinLe GaoJie GanLu
Total 0.000000(s) query 1, Server time : 2024-11-30 00:09:32, Gzip enabled