This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std ;
#define pb push_back
typedef vector < int > vi ;
#include "vision.h"
int n , m ;
vi R , C , last ;
int f ( int i , int j ) {
return i * m + j ;
}
void solve1 () {
vi Ret ;
Ret .pb ( add_xor ( R ) ) ;
Ret .pb ( add_xor ( C ) ) ;
Ret .pb ( add_and ( { add_or ( R ) , add_or ( C ) } ) ) ;
vi AdjOnes ;
for ( int i = 0 ; i < n - 1 ; i ++ ) {
vi crnt ;
for ( int j = 0 ; j < n ; j ++ ) {
if ( j == i || j == i + 1 ) continue ;
crnt .pb ( R [j] ) ;
}
crnt .pb ( add_not ( add_or ( { R [i] , R [i+1] } ) ) ) ;
AdjOnes .pb ( add_or ( crnt ) ) ;
}
Ret .pb ( add_and ( AdjOnes ) ) ;
last .pb ( add_not ( add_or ( Ret ) ) ) ;
}
void solve2 () {
vi Ret ;
Ret .pb ( add_xor ( R ) ) ;
Ret .pb ( add_xor ( C ) ) ;
Ret .pb ( add_and ( { add_or ( R ) , add_or ( C ) } ) ) ;
vi AdjOnes ;
for ( int i = 0 ; i < m - 1 ; i ++ ) {
vi crnt ;
for ( int j = 0 ; j < m ; j ++ ) {
if ( j == i || j == i + 1 ) continue ;
crnt .pb ( C [j] ) ;
}
crnt .pb ( add_not ( add_or ( { C [i] , C [i+1] } ) ) ) ;
AdjOnes .pb ( add_or ( crnt ) ) ;
}
Ret .pb ( add_and ( AdjOnes ) ) ;
last .pb ( add_not ( add_or ( Ret ) ) ) ;
}
void construct_network ( int H , int W , int K ) {
if ( H == 1 ) {
vi v ;
for ( int i = K ; i < W ; i ++ ) {
v .pb ( add_and ( { i - K , i } ) ) ;
}
add_or ( v ) ;
return ;
}
if ( W == 1 ) {
vi v ;
for ( int i = K ; i < H ; i ++ ) {
v .pb ( add_and ( { i - K , i } ) ) ;
}
add_or ( v ) ;
return ;
}
n = H , m = W ;
for ( int i = 0 ; i < n ; i ++ ) {
vi ret ;
for ( int j = 0 ; j < m ; j ++ ) {
ret .pb ( f ( i , j ) ) ;
}
R .pb ( add_xor ( ret ) ) ;
}
for ( int j = 0 ; j < m ; j ++ ) {
vi ret ;
for ( int i = 0 ; i < n ; i ++ ) {
ret .pb ( f ( i , j ) ) ;
}
C .pb ( add_xor ( ret ) ) ;
}
solve1 () ;
solve2 () ;
add_or ( last ) ;
}
# | 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... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |