#include<iostream>
using namespace std;
int a[ 100000 + 1 ];
int p1[ 100000 + 1 ], p2[ 100000 + 1 ];
int z = 0;
int pole( int w1, int w2, int h1, int h2 )
{
z++;
p1[ z ] = 0, p2[ z ] = 0;
p1[ z ] = w1 * h1;
p2[ z ] = w2 * h2;
return p2[ z ] - p1[ z ];
} //pole
bool czyMajoryzuje( int a[], int n )
{
for( int i = 0 ; i < n ; ++i )
{
for( int j = i + 1 ; j < n ; ++j )
{
if( a[ i ] == a[ j ] )
return true;
}
}
return false;
} //czyMajoryzuje
bool czyRowne()
{
for( int i = 1 ; i < z + 1 ; ++i )
{
for( int j = i + 1 ; j < z + 1; ++j )
{
if( ( p1[ i ] == p1[ j ] && p2[ i ] == p2[ j ] ))
return true;
}
}
return false;
}
int main()
{
ios_base::sync_with_stdio( 0 );
int w1, w2, h1, h2;
int t, n;
cin >> t;
while( t-- )
{
cin >> n;
for( int i = 0 ; i < n ; ++i )
{
cin >> w1 >> w2 >> h1 >> h2;
a[ i ] = pole( w1, w2, h1, h2 );
}
if( czyMajoryzuje( a, n ) == true )
{
if( czyRowne() == true )
cout << "TAK" << endl;
else cout << "NIE" << endl;
}
else cout << "TAK" << endl;
z = 0;
}
return 0;
} //main
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 | #include<iostream> using namespace std; int a[ 100000 + 1 ]; int p1[ 100000 + 1 ], p2[ 100000 + 1 ]; int z = 0; int pole( int w1, int w2, int h1, int h2 ) { z++; p1[ z ] = 0, p2[ z ] = 0; p1[ z ] = w1 * h1; p2[ z ] = w2 * h2; return p2[ z ] - p1[ z ]; } //pole bool czyMajoryzuje( int a[], int n ) { for( int i = 0 ; i < n ; ++i ) { for( int j = i + 1 ; j < n ; ++j ) { if( a[ i ] == a[ j ] ) return true; } } return false; } //czyMajoryzuje bool czyRowne() { for( int i = 1 ; i < z + 1 ; ++i ) { for( int j = i + 1 ; j < z + 1; ++j ) { if( ( p1[ i ] == p1[ j ] && p2[ i ] == p2[ j ] )) return true; } } return false; } int main() { ios_base::sync_with_stdio( 0 ); int w1, w2, h1, h2; int t, n; cin >> t; while( t-- ) { cin >> n; for( int i = 0 ; i < n ; ++i ) { cin >> w1 >> w2 >> h1 >> h2; a[ i ] = pole( w1, w2, h1, h2 ); } if( czyMajoryzuje( a, n ) == true ) { if( czyRowne() == true ) cout << "TAK" << endl; else cout << "NIE" << endl; } else cout << "TAK" << endl; z = 0; } return 0; } //main |
English