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 "vision.h"
#include <bits/stdc++.h>
typedef long long ll;
using namespace std;
void construct_network(int H, int W, int K) {
// construct rows
for(ll i=0;i<H;i++)
{
vector<int> Ns;
for(ll j=0;j<W;j++) Ns.push_back(i*W+j);
add_or(Ns);
}
// construct columns
for(ll j=0;j<W;j++)
{
vector<int> Ns;
for(ll i=0;i<H;i++) Ns.push_back(i*W+j);
add_or(Ns);
}
vector<int> res;
for(ll i=0;i<H;i++)
{
for(ll j=i;j<H;j++)
{
ll d = j-i;
if(d>K) continue;
for(ll k=0;k<W;k++)
{
for(ll l=k;l<W;l++)
{
ll d2 = l-k;
if((d2+d)!=K) continue;
vector<int> Ns;
Ns.push_back(H*W+i);
Ns.push_back(H*W+j);
Ns.push_back(H*W+H+k);
Ns.push_back(H*W+H+l);
res.push_back(add_and(Ns));
}
}
}
}
add_or(res);
}
/*
void construct_network(int H, int W, int K);
int add_and(std::vector<int> Ns);
int add_or(std::vector<int> Ns);
int add_xor(std::vector<int> Ns);
int add_not(int N);
*/
# | 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... |