#include #include #define DEBUG #define MAX 100 FILE *inp; int buf[101][2]; int n, pNum = 1; int in[ 101 ]; int cnt = 0; int oneCase() { int i, a, b, c, d; fscanf( inp, "%d\n", &n ); if ( !n ) return 0; /* ANPASSEN !!!! */ cnt = 0; /* SOLVING: */ for ( i = 0; i < n ; i++) { fscanf( inp, "%d %d/n", &buf[ i ][0] , &buf[ i][1] ); } buf[i][0]= buf[0][0]; buf[i][1]= buf[0][1]; if ( buf[0][0] == buf[1][0] ) if ( buf[0][1] < buf[1][1] ) b = 0; else b = 2; else if ( buf[0][0] < buf[1][0] ) b = 1; else b = 3; if ( buf[1][0] == buf[2][0] ) if ( buf[1][1] < buf[2][1] ) c = 0; else c = 2; else if ( buf[1][0] < buf[2][0] ) c = 1; else c = 3; if ( buf[2][0] == buf[3][0] ) if ( buf[2][1] < buf[3][1] ) d = 0; else d = 2; else if ( buf[2][0] < buf[3][0] ) d = 1; else d = 3; printf("Floor #%d\n", pNum ); for ( i = 4; i < n + 1; i++ ) { a = b; b = c; c = d; if ( buf[i-1][0] == buf[i][0] ) if ( buf[i-1][1] < buf[i][1] ) d = 0; else d = 2; else if ( buf[i-1][0] < buf[i][0] ) d = 1; else d = 3; if ( a == (b + 1) % 4 && b == (c + 1) % 4 && b == d){ printf("Surveillance is impossible.\n"); cnt = -1; } } if ( cnt == 0) printf("Surveillance is possible.\n" ); return 1; } int main() { inp = fopen( "video.in", "r" ); /* for ( i=0; i < MAX; i++ ) buf[0]; */ while( oneCase() ) { printf("\n"); pNum++; } fclose( inp ); return 0; }