Submission #602935

#TimeUsernameProblemLanguageResultExecution timeMemory
602935Sergio_2357Vision Program (IOI19_vision)C++17
0 / 100
27 ms3268 KiB
#include "vision.h"
#include <bits/stdc++.h>
using namespace std;

typedef vector<int> vi;

int h, w, k;
int cw;

int pnt(int x, int y)
{
    return x + (y * w);
}
int pnt2(int x, int y)
{
    return x + (y * cw);
}

void construct_network(int H, int W, int K)
{
    h = H;
    w = W;
    int si = 0;
    cw = 1;
    while (cw < w) {
        cw *= 2;
        si++;
    }
    k = K;
    vi bin;
    for (int b = 0; b < 16; b++) {
        vi v;
        for (int i = 0; i < w; i++) {
            for (int j = 0; j < h; j++) {
                int idx = pnt(i, j);
                int idx2 = pnt2(i, j);
                //if (idx == 10113)
                //    cout << "HERE" << endl;
                if (!(idx2 & (1 << b)))
                    continue;
                v.push_back(idx);
            }
        }
        if (v.size())
            bin.push_back(add_or(v));
        else
            bin.push_back(add_xor({ 0, 0 }));
    }
    int c1 = add_xor({ bin[0], bin[si] });
    vi vc2;
    for (int i = 1; i < bin.size(); i++) {
        if (i == si)
            continue;
        vc2.push_back(bin[i]);
    }
    int c2 = add_not(add_or(vc2));
    add_and({ c1, c2 });
}

Compilation message (stderr)

vision.cpp: In function 'void construct_network(int, int, int)':
vision.cpp:51:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   51 |     for (int i = 1; i < bin.size(); i++) {
      |                     ~~^~~~~~~~~~~~
#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...