Submission #1307121

#TimeUsernameProblemLanguageResultExecution timeMemory
1307121_as3adVision Program (IOI19_vision)C++20
0 / 100
831 ms1864 KiB
#include <bits/stdc++.h>
#include "vision.h"
using namespace std;
#define ll long long
//#define int long long
#define all(x) x.begin(), x.end()
#define siz(x) ((int)x.size())
#define yes cout << "YES\n"
#define no cout << "NO\n"
#define f first
#define s second

/*
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
using namespace __gnu_pbds;
template<class T>
using oset = tree<T, null_type, less<T>, rb_tree_tag, tree_order_statistics_node_update>;
*/


const int mod = 1e9+7;
const int N = 20005;
const long long inf = 1e12+12;
double eps = 1e-9;


vector<pair<int, int>> meto ( int h, int w, int k ) {
    vector<array<int,2>>vect;
    for(int i=0;i<h;++i){
        for(int j=0;j<w;++j){
            vect.push_back({i,j});
        }
    }
    vector<pair<int,int>> ans;
    for(int i =0;i<vect.size();++i){
        for(int j =i+1;j<vect.size();++j){
            int sz = abs(vect[i][0]-vect[j][0])+abs(vect[i][1]-vect[j][1]);
            if(sz==k)
                ans.push_back({i,j});
        }
    }
    return ans;
}

/*
add_and(Ns);
add_or(Ns);
add_xor(Ns);
add_not(c);
*/

void construct_network(int h, int w, int k) {
	vector<pair<int, int>> hi = meto(h, w, k);
	assert( siz(hi) != 0 );
    int x = siz(hi);
    for ( int i=0; i<x; i++ ) {
        add_not( hi[i].f );
        add_not( hi[i].s );
    }
    for ( int i=h*w; i<h*w+2*x; i+=2 ) {
        add_and( {i, i+1} );
    }
    vector<int> ans;
    for ( int i=h*w+2*x; i<h*w+3*x; i++ ) ans.push_back(i);
    add_or( ans );
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...