제출 #826942

#제출 시각아이디문제언어결과실행 시간메모리
826942vjudge1Vision Program (IOI19_vision)C++14
100 / 100
80 ms10196 KiB
#include<bits/stdc++.h> #include "vision.h" using namespace std ; vector<int> abu ; void construct_network(int n, int m, int k) { vector<int> arr_l, arr_l_two, arr_l_k1, arr_l_k, arr_r, arr_r_two, arr_r_k1, arr_r_k ; for(int i = n - 1 ; i >= 0 ; i--) { int x = i, y = 0 ; vector<int> now ; while(x < n && y < m) { now.push_back(x * m + y) ; x++ ; y++ ; } arr_l.push_back(add_or(now)) ; } for(int i = 1 ; i < m ; i++) { int x = 0, y = i ; vector<int> now ; while(x < n && y < m) { now.push_back(x * m + y) ; x++ ; y++ ; } arr_l.push_back(add_or(now)) ; } for(int i = n - 1 ; i >= 0 ; i--) { int x = i, y = 0 ; vector<int> now ; while(x < n && y < m) { now.push_back(x * m + y) ; x++ ; y++ ; } arr_l_two.push_back(add_and({add_xor(arr_l), add_or(now)})) ; } for(int i = 1 ; i < m ; i++) { int x = 0, y = i ; vector<int> now ; while(x < n && y < m) { now.push_back(x * m + y) ; x++ ; y++ ; } arr_l_two.push_back(add_and({add_xor(arr_l), add_or(now)})) ; } for(int i = k - 1 ; i < arr_l.size() ; i++) { vector<int> now, now1 ; for(int j = i - k + 1 ; j <= i ; j++) now.push_back(arr_l[j]), now1.push_back(arr_l_two[j]) ; int num = add_xor({add_xor(now), add_or(now)}) ; now1.push_back(num) ; arr_l_k.push_back(add_or(now1)) ; } for(int i = k ; i < arr_l.size() ; i++) { vector<int> now, now1 ; for(int j = i - k ; j <= i ; j++) now.push_back(arr_l[j]), now1.push_back(arr_l_two[j]) ; int num = add_xor({add_xor(now), add_or(now)}) ; now1.push_back(num) ; arr_l_k1.push_back(add_or(now1)) ; } for(int i = 0 ; i < m ; i++) { int x = 0, y = i ; vector<int> now ; while(x < n && y >= 0) { now.push_back(x * m + y) ; x++ ; y-- ; } arr_r.push_back(add_or(now)) ; } for(int i = 1 ; i < n ; i++) { int x = i, y = m - 1 ; vector<int> now ; while(x < n && y >= 0) { now.push_back(x * m + y) ; x++ ; y-- ; } arr_r.push_back(add_or(now)) ; } for(int i = 0 ; i < m ; i++) { int x = 0, y = i ; vector<int> now ; while(x < n && y >= 0) { now.push_back(x * m + y) ; x++ ; y-- ; } arr_r_two.push_back({add_and({add_xor(arr_r), add_or(now)})}) ; } for(int i = 1 ; i < n ; i++) { int x = i, y = m - 1 ; vector<int> now ; while(x < n && y >= 0) { now.push_back(x * m + y) ; x++ ; y-- ; } arr_r_two.push_back(add_and({add_xor(arr_r), add_or(now)})) ; } for(int i = k - 1 ; i < arr_r.size() ; i++) { vector<int> now, now1 ; for(int j = i - k + 1 ; j <= i ; j++) now.push_back(arr_r[j]), now1.push_back(arr_r_two[j]) ; int num = add_xor({add_xor(now), add_or(now)}) ; now1.push_back(num) ; arr_r_k.push_back(add_or(now1)) ; } for(int i = k ; i < arr_r.size() ; i++) { vector<int> now, now1 ; for(int j = i - k ; j <= i ; j++) now.push_back(arr_r[j]), now1.push_back(arr_r_two[j]) ; int num = add_xor({add_xor(now), add_or(now)}) ; now1.push_back(num) ; arr_r_k1.push_back(add_or(now1)) ; } int num1 = add_and({add_or(arr_r_k1), add_or(arr_l_k1)}), num2 = add_and({add_or(arr_r_k), add_or(arr_l_k)}) ; add_xor({num1, num2}) ; }

컴파일 시 표준 에러 (stderr) 메시지

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