Submission #238212

#TimeUsernameProblemLanguageResultExecution timeMemory
238212Ruxandra985Vision Program (IOI19_vision)C++14
12 / 100
13 ms1148 KiB
#include <bits/stdc++.h>
#include <cassert>
#include <string>
#include "vision.h"

using namespace std;


/// ---------------------------------------------------------------------------------

int res[1000010];

int convert (int x , int y , int n , int m){

    return (x - 1) * m + y - 1;

}

int in_matrix (int i , int j , int n , int m){

    return (i > 0 && j > 0 && i <= n && j <= m);

}


void construct_network(int n, int m, int k) {

    int i , j , pi , pj , op;
    vector <int> v;
    op = 0;

    for (i = 1 ; i <= n ; i++){

        for (j = 1 ; j <= m ; j++){

            v.clear();

            for (pi = 0 ; pi <= k ; pi++){


                pj = k - pi;

                //if (in_matrix(i + pi , j + pj , n , m))
                  //  v.push_back(convert(i + pi , j + pj , n , m));

                //if (in_matrix(i + pi , j - pj , n , m))
                  //  v.push_back(convert(i + pi , j - pj , n , m));

                //if (in_matrix(i - pi , j + pj , n , m))
                  //  v.push_back(convert(i - pi , j + pj , n , m));

                if (in_matrix(i - pi , j - pj , n , m))
                    v.push_back(convert(i - pi , j - pj , n , m));



            }
            if (v.empty())
                continue;
            add_xor(v);
            op++;

            v.clear();
            v.push_back(n * m + (op - 1));
            v.push_back(convert(i , j , n , m));

            add_and(v);
            op++;
            /// res[ceva impar] e rezultatul unui and

        }

    }
    v.clear();
    for (i = 1 ; i < op ; i += 2){
        v.push_back(n * m + i);
    }

    add_or(v);


}
#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...