Submission #287487

#TimeUsernameProblemLanguageResultExecution timeMemory
287487dandrozavrVision Program (IOI19_vision)C++14
66 / 100
721 ms10068 KiB
/* Uruchamiamy samolot zwiadowczy ( + 500% do wzlamaniej ) /▄/ /█/ /◐/ /▐/ /▌/ /▀/ /░/ / / choose your own style! ***IT'S OUR LONG WAY TO THE OIILLLL*** ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░████████░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█████████░░░░░░░░░░░░░░░░░▌░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░◐◐◐█████████▀▀▀▀▀▀ ░░░░░░░░███░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█████████░░░░░░░░░░░░░░░░░░░░▌░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█████████░░░░░░░░░░░░░░░░░░░░█▌░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▄▄▀██████████████████████████████████████████████████ ░░░░░░░░░░░░░░░░░░░░░░░░░░▄▄▄████▄████████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ █████ ░░░░░░░░░░░░░░░░░░░░░░░░░░░▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀█████████▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█████████░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░◐◐◐█████████▀▀▀▀▀▀ ░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█████████░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█████████░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░████████░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░███████░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░██████░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█████░░░░░░░░░░░░░░░ */ //#pragma GCC target("avx2") //#pragma comment(linker, "/stack:200000000") //#pragma GCC optimize("Ofast") //#pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native") //#pragma GCC optimize("unroll-loops") //#pragma GCC optimize("-O3") #include <bits/stdc++.h> #include "vision.h" using namespace std; #include <ext/pb_ds/detail/standard_policies.hpp> #include <ext/pb_ds/assoc_container.hpp> #include <ext/pb_ds/tree_policy.hpp> using namespace __gnu_pbds;template <typename T> using ordered_set = tree <T, null_type, less< T >, rb_tree_tag,tree_order_statistics_node_update>; namespace fastio {template <class T> ostream &operator<<(ostream &os, const vector<T> &container) {for (auto &u : container)os << u << " ";return os;} template<class T1, class T2> ostream& operator << (ostream& os, const pair<T1, T2>& p) {return os << p.first << " " << p.second;}template <class T> ostream &operator<<(ostream &os, set<T> const& con) { for (auto &u : con) os << u << " ";return os;} void pr() {} template <typename T, typename... args> void pr(T x, args... tail) {cout << x << " ";pr(tail...);}} using namespace fastio; #define pb push_back #define ll long long #define ld long double #define fi first #define se second #define F first #define S second #define pii pair < int , int > #define _ <<" "<< #define TIME 1.0 * clock() / CLOCKS_PER_SEC #define uint unsigned int //#define int long long mt19937 gen(chrono::high_resolution_clock::now().time_since_epoch().count()); const int rx[8] = {1, -1, 0, 0, 1, 1, -1, -1}; const int ry[8] = {0, 0, 1, -1, 1, -1, 1, -1}; const int kx[8] = {1, 1, -1, -1, 2, 2, -2, -2}; const int ky[8] = {2, -2, 2, -2, 1, -1, 1, -1}; //const ld pi = acos(-1.0); const int N = 1e5 + 5; const int M = 1e9 + 7; void construct_network(int n, int m, int K) { vector < int > all; if (K == 1 && m > 1 && n > 1){ vector < int > row, col; for (int i = 0; i < n; ++i){ vector < int > ask; for (int j = 0; j < m; ++j) ask.pb(i * m + j); row.pb(add_or(ask)); } int f1 = add_xor(row); for (int j = 0; j < m; ++j){ vector < int > ask; for (int i = 0; i < n; ++i) ask.pb(i * m + j); col.pb(add_or(ask)); } int s1 = add_xor(col); vector < int > all1, all2; for (int i = 0; i + 1 < col.size(); ++i){ all1.pb(add_and({col[i], col[i + 1]})); } int f = add_xor(all1); for (int i = 0; i + 1 < row.size(); ++i){ all2.pb(add_and({row[i], row[i + 1]})); } int s = add_xor(all2); // cout << f1 _ s1 _ f _ s << endl; // int ans1 = add_and({add_or({f, s}), add_not(add_xor({f, s}))}); int ans2 = add_and({add_xor({f, s}), add_or({f1, s1})}); // int ans = add_or({ans1, ans2}); return; } for (int i = 0; i < n; ++i) for (int j = 0; j < m; ++j){ vector < int > ask; for (int k = i; k < n; ++k) for (int l = 0; l < m; ++l) if (k - i + abs(l - j) == K){ if (K == 1 && l < j) continue; if (all.size() * 2 >= 9990) break; ask.pb(k * m + l); } if (ask.size() == 0 || all.size() * 2 >= 9990) continue; // cout << i _ j _ ask.size() _ all.size() << endl; int x = add_or(ask); all.pb(add_and({i * m + j, x})); } // cout << all.size() << endl; add_or(all); }

Compilation message (stderr)

vision.cpp: In function 'void construct_network(int, int, int)':
vision.cpp:83:31: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   83 |         for (int i = 0; i + 1 < col.size(); ++i){
      |                         ~~~~~~^~~~~~~~~~~~
vision.cpp:87:31: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   87 |         for (int i = 0; i + 1 < row.size(); ++i){
      |                         ~~~~~~^~~~~~~~~~~~
vision.cpp:93:13: warning: unused variable 'ans2' [-Wunused-variable]
   93 |         int ans2 = add_and({add_xor({f, s}), add_or({f1, s1})});
      |             ^~~~
#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...