0_0_20614120_9929.cpp:4:27: error: stray '#' in program
using namespace std ; #define REP( i , a , b ) for ( int i = a ; i < b ; ++ i )#define REV( i , a , b ) for ( int i = a - 1 ; i >= b ; -- i )#define FOR( i , a , b ) for ( int i = a ; i <= b ; ++ i )#define FOV( i , a , b ) for ( int i = a ; i >= b ; -- i )#define CLR( a , x ) memset ( a , x , sizeof a ) typedef long long LL ; const int MAXN = 1005 ;const int MAXQ = 2000005 ;const int MAXE = 2000005 ;const int INF = 0x3f3f3f3f ; struct Node { int x , y , idx ; Node () {} Node ( int x , int y , int idx ) : x ( x ) , y ( y ) , idx ( idx ) {} void input ( int __idx ) { scanf ( "%d%d" , &x , &y ) ; idx = __idx ; } bool operator < ( const Node &a ) const { return x != a.x ? x < a.x : y < a.y ; }} a[MAXN] ; struct Edge { int v , c , n ; Edge () {} Edge ( int v , int c , int n ) : v ( v ) , c ( c ) , n ( n ) {}} ; Edge E[MAXE] ;int H[MAXN] , cntE ;int Q[MAXQ] ;int head , tail , inq[MAXN] ;int d[MAXN] ;int n , L ;int s , t ; void init () { cntE = 0 ; CLR ( H , -1 ) ;} void addedge ( int u , int v , int c ) { E[cntE] = Edge ( v , c , H[u] ) ; H[u] = cntE ++ ; E[cntE] = Edge ( u , c , H[v] ) ; H[v] = cntE ++ ;} LL dist ( int i , int j ) { LL x = a[i].x - a[j].x ; LL y = a[i].y - a[j].y ; return x * x + y * y ;} void spfa () { head = tail = 0 ; CLR ( inq , 0 ) ; CLR ( d , INF ) ; d[s] = 0 ; Q[tail ++] = s ; while ( head != tail ) { int u = Q[head ++] ; inq[u] = 0 ; for ( int i = H[u] ; ~i ; i = E[i].n ) { int v = E[i].v ; if ( d[v] > d[u] + 1 ) { d[v] = d[u] + 1 ; if ( !inq[v] ) { inq[v] = 1 ; Q[tail ++] = v ; } } } }} int cha ( int i , int j , int k ) { LL x1 = a[i].x - a[j].x ; LL x2 = a[j].x - a[k].x ; LL y1 = a[i].y - a[j].y ; LL y2 = a[j].y - a[k].y ; if ( x1 * y2 - x2 * y1 ) return 1 ; return 0 ;} void build () { LL LLL = ( LL ) L * L ; REP ( i , 0 , n ) REP ( j , i + 1 , n ) if ( dist ( i , j ) <= LLL ) { int ok = 1 ; int minx = min ( a[i].x , a[j].x ) ; int maxx = max ( a[i].x , a[j].x ) ; int miny = min ( a[i].y , a[j].y ) ; int maxy = max ( a[i].y , a[j].y ) ; for ( int k = i + 1 ; ok && k < j ; ++ k ) if ( cha ( i , j , k ) == 0 ) ok = 0 ; if ( ok ) addedge ( i , j , 1 ) ; }} void solve () { init () ; int x , y ; scanf ( "%d%d" , &n , &L ) ; a[n].input ( n ) ; a[n + 1].input ( n + 1 ) ; REP ( i , 0 , n ) a[i].input ( i ) ; n += 2 ; sort ( a , a + n ) ; build () ; REP ( i , 0 , n ) { if ( a[i].idx == n - 2 ) s = i ; if ( a[i].idx == n - 1 ) t = i ; } spfa () ; if ( d[t] == INF ) printf ( "impossible\n" ) ; else printf ( "%d\n" , d[t] - 1 ) ;} int main () { int T ; scanf ( "%d" , &T ) ; while ( T -- ) solve () ; return 0 ;}
^
0_0_20614120_9929.cpp:4:84: error: stray '#' in program
using namespace std ; #define REP( i , a , b ) for ( int i = a ; i < b ; ++ i )#define REV( i , a , b ) for ( int i = a - 1 ; i >= b ; -- i )#define FOR( i , a , b ) for ( int i = a ; i <= b ; ++ i )#define FOV( i , a , b ) for ( int i = a ; i >= b ; -- i )#define CLR( a , x ) memset ( a , x , sizeof a ) typedef long long LL ; const int MAXN = 1005 ;const int MAXQ = 2000005 ;const int MAXE = 2000005 ;const int INF = 0x3f3f3f3f ; struct Node { int x , y , idx ; Node () {} Node ( int x , int y , int idx ) : x ( x ) , y ( y ) , idx ( idx ) {} void input ( int __idx ) { scanf ( "%d%d" , &x , &y ) ; idx = __idx ; } bool operator < ( const Node &a ) const { return x != a.x ? x < a.x : y < a.y ; }} a[MAXN] ; struct Edge { int v , c , n ; Edge () {} Edge ( int v , int c , int n ) : v ( v ) , c ( c ) , n ( n ) {}} ; Edge E[MAXE] ;int H[MAXN] , cntE ;int Q[MAXQ] ;int head , tail , inq[MAXN] ;int d[MAXN] ;int n , L ;int s , t ; void init () { cntE = 0 ; CLR ( H , -1 ) ;} void addedge ( int u , int v , int c ) { E[cntE] = Edge ( v , c , H[u] ) ; H[u] = cntE ++ ; E[cntE] = Edge ( u , c , H[v] ) ; H[v] = cntE ++ ;} LL dist ( int i , int j ) { LL x = a[i].x - a[j].x ; LL y = a[i].y - a[j].y ; return x * x + y * y ;} void spfa () { head = tail = 0 ; CLR ( inq , 0 ) ; CLR ( d , INF ) ; d[s] = 0 ; Q[tail ++] = s ; while ( head != tail ) { int u = Q[head ++] ; inq[u] = 0 ; for ( int i = H[u] ; ~i ; i = E[i].n ) { int v = E[i].v ; if ( d[v] > d[u] + 1 ) { d[v] = d[u] + 1 ; if ( !inq[v] ) { inq[v] = 1 ; Q[tail ++] = v ; } } } }} int cha ( int i , int j , int k ) { LL x1 = a[i].x - a[j].x ; LL x2 = a[j].x - a[k].x ; LL y1 = a[i].y - a[j].y ; LL y2 = a[j].y - a[k].y ; if ( x1 * y2 - x2 * y1 ) return 1 ; return 0 ;} void build () { LL LLL = ( LL ) L * L ; REP ( i , 0 , n ) REP ( j , i + 1 , n ) if ( dist ( i , j ) <= LLL ) { int ok = 1 ; int minx = min ( a[i].x , a[j].x ) ; int maxx = max ( a[i].x , a[j].x ) ; int miny = min ( a[i].y , a[j].y ) ; int maxy = max ( a[i].y , a[j].y ) ; for ( int k = i + 1 ; ok && k < j ; ++ k ) if ( cha ( i , j , k ) == 0 ) ok = 0 ; if ( ok ) addedge ( i , j , 1 ) ; }} void solve () { init () ; int x , y ; scanf ( "%d%d" , &n , &L ) ; a[n].input ( n ) ; a[n + 1].input ( n + 1 ) ; REP ( i , 0 , n ) a[i].input ( i ) ; n += 2 ; sort ( a , a + n ) ; build () ; REP ( i , 0 , n ) { if ( a[i].idx == n - 2 ) s = i ; if ( a[i].idx == n - 1 ) t = i ; } spfa () ; if ( d[t] == INF ) printf ( "impossible\n" ) ; else printf ( "%d\n" , d[t] - 1 ) ;} int main () { int T ; scanf ( "%d" , &T ) ; while ( T -- ) solve () ; return 0 ;}
^
0_0_20614120_9929.cpp:4:146: error: stray '#' in program
using namespace std ; #define REP( i , a , b ) for ( int i = a ; i < b ; ++ i )#define REV( i , a , b ) for ( int i = a - 1 ; i >= b ; -- i )#define FOR( i , a , b ) for ( int i = a ; i <= b ; ++ i )#define FOV( i , a , b ) for ( int i = a ; i >= b ; -- i )#define CLR( a , x ) memset ( a , x , sizeof a ) typedef long long LL ; const int MAXN = 1005 ;const int MAXQ = 2000005 ;const int MAXE = 2000005 ;const int INF = 0x3f3f3f3f ; struct Node { int x , y , idx ; Node () {} Node ( int x , int y , int idx ) : x ( x ) , y ( y ) , idx ( idx ) {} void input ( int __idx ) { scanf ( "%d%d" , &x , &y ) ; idx = __idx ; } bool operator < ( const Node &a ) const { return x != a.x ? x < a.x : y < a.y ; }} a[MAXN] ; struct Edge { int v , c , n ; Edge () {} Edge ( int v , int c , int n ) : v ( v ) , c ( c ) , n ( n ) {}} ; Edge E[MAXE] ;int H[MAXN] , cntE ;int Q[MAXQ] ;int head , tail , inq[MAXN] ;int d[MAXN] ;int n , L ;int s , t ; void init () { cntE = 0 ; CLR ( H , -1 ) ;} void addedge ( int u , int v , int c ) { E[cntE] = Edge ( v , c , H[u] ) ; H[u] = cntE ++ ; E[cntE] = Edge ( u , c , H[v] ) ; H[v] = cntE ++ ;} LL dist ( int i , int j ) { LL x = a[i].x - a[j].x ; LL y = a[i].y - a[j].y ; return x * x + y * y ;} void spfa () { head = tail = 0 ; CLR ( inq , 0 ) ; CLR ( d , INF ) ; d[s] = 0 ; Q[tail ++] = s ; while ( head != tail ) { int u = Q[head ++] ; inq[u] = 0 ; for ( int i = H[u] ; ~i ; i = E[i].n ) { int v = E[i].v ; if ( d[v] > d[u] + 1 ) { d[v] = d[u] + 1 ; if ( !inq[v] ) { inq[v] = 1 ; Q[tail ++] = v ; } } } }} int cha ( int i , int j , int k ) { LL x1 = a[i].x - a[j].x ; LL x2 = a[j].x - a[k].x ; LL y1 = a[i].y - a[j].y ; LL y2 = a[j].y - a[k].y ; if ( x1 * y2 - x2 * y1 ) return 1 ; return 0 ;} void build () { LL LLL = ( LL ) L * L ; REP ( i , 0 , n ) REP ( j , i + 1 , n ) if ( dist ( i , j ) <= LLL ) { int ok = 1 ; int minx = min ( a[i].x , a[j].x ) ; int maxx = max ( a[i].x , a[j].x ) ; int miny = min ( a[i].y , a[j].y ) ; int maxy = max ( a[i].y , a[j].y ) ; for ( int k = i + 1 ; ok && k < j ; ++ k ) if ( cha ( i , j , k ) == 0 ) ok = 0 ; if ( ok ) addedge ( i , j , 1 ) ; }} void solve () { init () ; int x , y ; scanf ( "%d%d" , &n , &L ) ; a[n].input ( n ) ; a[n + 1].input ( n + 1 ) ; REP ( i , 0 , n ) a[i].input ( i ) ; n += 2 ; sort ( a , a + n ) ; build () ; REP ( i , 0 , n ) { if ( a[i].idx == n - 2 ) s = i ; if ( a[i].idx == n - 1 ) t = i ; } spfa () ; if ( d[t] == INF ) printf ( "impossible\n" ) ; else printf ( "%d\n" , d[t] - 1 ) ;} int main () { int T ; scanf ( "%d" , &T ) ; while ( T -- ) solve () ; return 0 ;}
^
0_0_20614120_9929.cpp:4:204: error: stray '#' in program
using namespace std ; #define REP( i , a , b ) for ( int i = a ; i < b ; ++ i )#define REV( i , a , b ) for ( int i = a - 1 ; i >= b ; -- i )#define FOR( i , a , b ) for ( int i = a ; i <= b ; ++ i )#define FOV( i , a , b )
|