답안 #152210

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
152210 2019-09-06T19:24:35 Z stefdasca Vision Program (IOI19_vision) C++14
0 / 100
13 ms 1524 KB
#include "vision.h"
#include<bits/stdc++.h>

using namespace std;
int query_number;
vector<int> fct(int K, vector<int>mn)
{
    vector<int>k1;
    for(int i = K; i < mn.size(); ++i)
    {
        add_and({mn[i-K], mn[i]});
        query_number++;
        add_xor({query_number});
        query_number++;
        k1.push_back(query_number);
    }
    return k1;
}
void construct_network(int H, int W, int K)
{
    query_number = H * W - 1;
    vector<int>mn, sc;
    for(int i = H - 1; i >= 0; --i)
    {
        vector<int>pz;
        for(int a = i, b = 0; a < H && b < W; ++a, ++b)
            pz.push_back(a * W + b);
        if(i == H-1)
        {
            add_xor(pz);
            ++query_number;
        }
        else
        {
            add_xor(pz);
            ++query_number;
            add_xor({query_number, query_number - 1});
            ++query_number;
        }
        mn.push_back(query_number);
    }
    for(int i = 1; i < W; ++i)
    {
        vector<int>pz;
        for(int a = 0, b = i; a < H && b < W; ++a, ++b)
            pz.push_back(a * W + b);
        add_xor(pz);
        ++query_number;
        add_xor({query_number, query_number - 1});
        ++query_number;
        mn.push_back(query_number);
    }
    for(int i = 0; i < W; ++i)
    {
        vector<int>pz;
        for(int a = 0, b = i; a < H && b >= 0; ++a, --b)
            pz.push_back(a * W + b);
        if(i == 0)
        {
            add_xor(pz);
            ++query_number;
        }
        else
        {
            add_xor(pz);
            ++query_number;
            add_xor({query_number, query_number - 1});
            ++query_number;
        }
        sc.push_back(query_number);
    }
    for(int i = 1; i < H; ++i)
    {
        vector<int>pz;
        for(int a = i, b = W - 1; a < H && b >= 0; ++a, --b)
            pz.push_back(a * W + b);
        add_xor(pz);
        ++query_number;
        add_xor({query_number, query_number - 1});
        ++query_number;
        sc.push_back(query_number);
    }
    add_and({add_or({add_or(fct(K-1, mn)), add_or(fct(K-1, sc))}), add_not(add_or(fct(K, mn))), add_not(add_or(fct(K, sc)))});
}

Compilation message

vision.cpp: In function 'std::vector<int> fct(int, std::vector<int>)':
vision.cpp:9:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(int i = K; i < mn.size(); ++i)
                    ~~^~~~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Incorrect 2 ms 252 KB on inputs (0, 0), (0, 1), expected 1, but computed 0
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 2 ms 252 KB on inputs (0, 0), (0, 1), expected 1, but computed 0
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 2 ms 252 KB on inputs (0, 0), (0, 1), expected 1, but computed 0
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 2 ms 252 KB on inputs (0, 0), (0, 1), expected 1, but computed 0
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 3 ms 504 KB on inputs (0, 0), (0, 1), expected 1, but computed 0
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 2 ms 252 KB on inputs (0, 0), (0, 1), expected 1, but computed 0
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 13 ms 1524 KB on inputs (80, 199), (81, 199), expected 1, but computed 0
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 2 ms 252 KB on inputs (0, 0), (0, 1), expected 1, but computed 0
2 Halted 0 ms 0 KB -