| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 1302344 | ndquang | Towers (NOI22_towers) | C++20 | 102 ms | 18276 KiB |
#include<bits/stdc++.h>
#define nl 1000005
using namespace std;
int n;
int x[nl], y[nl];
namespace Subtask2 {
void Solve() {
string res = "";
for( int mask = 1; mask < ( 1<<n ); mask ++ ) {
bool test = true;
vector<bool> used( n+1, false );
vector<int> cntX( n+1, 0 ), cntY( n+1, 0 );
for( int i = 0; i < n; i ++ )
if(( mask >> i ) & 1) {
used[i+1] = true;
cntX[x[i+1]] ++ ;
if( cntX[x[i+1]] > 2 ) {
test = false;
break;
}
cntY[y[i+1]] ++ ;
if( cntY[y[i+1]] > 2 ) {
test = false;
break;
}
}
if( test ) {
for( int i = 1; i <= n; i ++ ) {
if( used[i] ) continue;
bool okX1 = false;
bool okX2 = false;
bool okX = false;
for( int j = 1; j <= n; j ++ ) if( j != i ) {
if( !used[j] ) continue;
if( x[i] == x[j] ) {
if( y[j] < y[i] ) okX1 = true;
if( y[j] > y[i] ) okX2 = true;
}
okX = okX1 & okX2;
if( okX ) break;
}
bool okY1 = false;
bool okY2 = false;
bool okY = false;
for( int j = 1; j <= n; j ++ ) if( j != i ) {
if( !used[j] ) continue;
if( y[i] == y[j] ) {
if( x[j] < x[i] ) okY1 = true;
if( x[j] > x[i] ) okY2 = true;
}
okY = okY1 & okY2;
if( okY ) break;
}
if( !okX && !okY ) {
test = false;
break;
}
}
}
if( test ) {
for( int i = 1; i <= n; i ++ )
if( used[i] ) res += "1";
else res += "0";
break;
}
}
cout << res << "\n";
}
}
int main() {
ios_base :: sync_with_stdio( false );
cin.tie( NULL ); cout.tie( NULL );
#define File "SLAMP"
if( fopen( File ".inp", "r" ) ) {
freopen( File ".inp", "r", stdin );
freopen( File ".out", "w", stdout );
}
cin >> n;
for( int i = 1; i <= n; i ++ )
cin >> x[i] >> y[i];
if( n <= 16 )
Subtask2 :: Solve();
return 0;
}
Compilation message (stderr)
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
