답안 #144132

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
144132 2019-08-16T07:44:51 Z icypiggy Vision Program (IOI19_vision) C++14
컴파일 오류
0 ms 0 KB
#include <vector>
void construct_network(int H, int W, int K) {
    vector<int> vdiag[H+W-1];
    vector<int> vdiag2[H+W-1];
    int idx_diag[H+W-1];
    int idx_diag2[H+W-1];
    for(int i=0; i<H; i++) {
        for(int j=0; j<W; j++) {
            vdiag[i+j].push_back(i*W+j);
            vdiag2[H-1-i+j].push_back(i*W+j);
            //cout << "vdiag: " << i*W+j << " " << i+j << " " << H-1-i+j << "\n";
        }
    }
    for(int i=0; i<H+W-1; i++) {
        idx_diag[i] = add_or(vdiag[i]);
    }

    for(int i=0; i<H+W-1; i++) {
        idx_diag2[i] = add_or(vdiag2[i]);
    }
    vector<int> tmp;
    for(int i=0; i+K<H+W-1; i++) {
        tmp.push_back(add_and({idx_diag[i], idx_diag[i+K]}));
        tmp.push_back(add_and({idx_diag2[i], idx_diag2[i+K]}));
    }
    vector<int> tmp2; // if any fail, we fail
    vector<int> vtmp;
    vector<int> vtmp2;
    for(int i=H+W-2; i>K; i--) {
        vtmp.push_back(idx_diag[i]);
        vtmp2.push_back(idx_diag2[i]);
        //cout << idx_diag[i] << "!!!\n";
    }
    for(int i=0; i+K<H+W-2; i++) {
        /*cout << i << ": ";
        for(int i: vtmp) {
            cout << i << " ";
        }
        cout << "\n";*/
        tmp2.push_back(add_and({idx_diag[i], add_or(vtmp)}));
        tmp2.push_back(add_and({idx_diag2[i], add_or(vtmp2)}));
        vtmp.pop_back();
        vtmp2.pop_back();
    }
    //add_or(tmp);
    add_and({add_or(tmp), add_not(add_or(tmp2))});
}

Compilation message

vision.cpp: In function 'void construct_network(int, int, int)':
vision.cpp:3:5: error: 'vector' was not declared in this scope
     vector<int> vdiag[H+W-1];
     ^~~~~~
vision.cpp:3:5: note: suggested alternative:
In file included from /usr/include/c++/7/vector:64:0,
                 from vision.cpp:1:
/usr/include/c++/7/bits/stl_vector.h:216:11: note:   'std::vector'
     class vector : protected _Vector_base<_Tp, _Alloc>
           ^~~~~~
vision.cpp:3:12: error: expected primary-expression before 'int'
     vector<int> vdiag[H+W-1];
            ^~~
vision.cpp:4:12: error: expected primary-expression before 'int'
     vector<int> vdiag2[H+W-1];
            ^~~
vision.cpp:9:13: error: 'vdiag' was not declared in this scope
             vdiag[i+j].push_back(i*W+j);
             ^~~~~
vision.cpp:10:13: error: 'vdiag2' was not declared in this scope
             vdiag2[H-1-i+j].push_back(i*W+j);
             ^~~~~~
vision.cpp:10:13: note: suggested alternative: 'idx_diag2'
             vdiag2[H-1-i+j].push_back(i*W+j);
             ^~~~~~
             idx_diag2
vision.cpp:15:30: error: 'vdiag' was not declared in this scope
         idx_diag[i] = add_or(vdiag[i]);
                              ^~~~~
vision.cpp:15:23: error: 'add_or' was not declared in this scope
         idx_diag[i] = add_or(vdiag[i]);
                       ^~~~~~
vision.cpp:19:31: error: 'vdiag2' was not declared in this scope
         idx_diag2[i] = add_or(vdiag2[i]);
                               ^~~~~~
vision.cpp:19:31: note: suggested alternative: 'idx_diag2'
         idx_diag2[i] = add_or(vdiag2[i]);
                               ^~~~~~
                               idx_diag2
vision.cpp:19:24: error: 'add_or' was not declared in this scope
         idx_diag2[i] = add_or(vdiag2[i]);
                        ^~~~~~
vision.cpp:21:12: error: expected primary-expression before 'int'
     vector<int> tmp;
            ^~~
vision.cpp:23:9: error: 'tmp' was not declared in this scope
         tmp.push_back(add_and({idx_diag[i], idx_diag[i+K]}));
         ^~~
vision.cpp:23:23: error: 'add_and' was not declared in this scope
         tmp.push_back(add_and({idx_diag[i], idx_diag[i+K]}));
                       ^~~~~~~
vision.cpp:26:12: error: expected primary-expression before 'int'
     vector<int> tmp2; // if any fail, we fail
            ^~~
vision.cpp:27:12: error: expected primary-expression before 'int'
     vector<int> vtmp;
            ^~~
vision.cpp:28:12: error: expected primary-expression before 'int'
     vector<int> vtmp2;
            ^~~
vision.cpp:30:9: error: 'vtmp' was not declared in this scope
         vtmp.push_back(idx_diag[i]);
         ^~~~
vision.cpp:31:9: error: 'vtmp2' was not declared in this scope
         vtmp2.push_back(idx_diag2[i]);
         ^~~~~
vision.cpp:40:9: error: 'tmp2' was not declared in this scope
         tmp2.push_back(add_and({idx_diag[i], add_or(vtmp)}));
         ^~~~
vision.cpp:40:53: error: 'vtmp' was not declared in this scope
         tmp2.push_back(add_and({idx_diag[i], add_or(vtmp)}));
                                                     ^~~~
vision.cpp:40:46: error: 'add_or' was not declared in this scope
         tmp2.push_back(add_and({idx_diag[i], add_or(vtmp)}));
                                              ^~~~~~
vision.cpp:40:24: error: 'add_and' was not declared in this scope
         tmp2.push_back(add_and({idx_diag[i], add_or(vtmp)}));
                        ^~~~~~~
vision.cpp:41:54: error: 'vtmp2' was not declared in this scope
         tmp2.push_back(add_and({idx_diag2[i], add_or(vtmp2)}));
                                                      ^~~~~
vision.cpp:46:21: error: 'tmp' was not declared in this scope
     add_and({add_or(tmp), add_not(add_or(tmp2))});
                     ^~~
vision.cpp:46:14: error: 'add_or' was not declared in this scope
     add_and({add_or(tmp), add_not(add_or(tmp2))});
              ^~~~~~
vision.cpp:46:42: error: 'tmp2' was not declared in this scope
     add_and({add_or(tmp), add_not(add_or(tmp2))});
                                          ^~~~
vision.cpp:46:27: error: 'add_not' was not declared in this scope
     add_and({add_or(tmp), add_not(add_or(tmp2))});
                           ^~~~~~~
vision.cpp:46:5: error: 'add_and' was not declared in this scope
     add_and({add_or(tmp), add_not(add_or(tmp2))});
     ^~~~~~~