# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1015498 | May27_th | Topovi (COCI15_topovi) | Cpython 2 | 0 ms | 0 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include<bits/stdc++.h>
using namespace std;
#define i64 long long
#define i128 __int128
#define mp make_pair
#define pb push_back
#define all(x) (x).begin(), (x).end()
void Solve(void) {
int N, K, P; cin >> N >> K >> P;
vector<int> compressR, compressC;
vector<array<int, 3>> rocks;
for (int i = 0; i < K; i ++) {
int r, c, x; cin >> r >> c >> x;
rocks.pb({r, c, x});
compressR.pb(r);
compressC.pb(c);
}
vector<array<int, 4>> moves;
for (int i = 0; i < P; i ++) {
int r1, c1, r2, c2; cin >> r1 >> c1 >> r2 >> c2;
moves.pb({r1, c1, r2, c2});
compressR.pb(r1); compressC.pb(c1);
compressR.pb(r2); compressC.pb(c2);
}
sort(all(compressR)); compressR.erase(unique(all(compressR)), compressR.end());
sort(all(compressC)); compressC.erase(unique(all(compressC)), compressC.end());
auto getR = [&](int val) {
return lower_bound(all(compressR), val) - compressR.begin() + 1;
};
auto getC = [&](int val) {
return lower_bound(all(compressC), val) - compressC.begin() + 1;
};
int szR = compressR.size();
int szC = compressC.size();
vector<map<int, int>> cntR(sz + 2), cntC(sz + 2);
vector<i64> totR(sz + 2, 0), totC(sz + 2, 0);
for (auto [r, c, x] : rocks) {
r = getR(r);
c = getC(c);
totR[r] ^= x;
totC[c] ^= x;
cntR[r][x] ++;
cntC[c][x] ++;
}
int ans = 0;
for (int i = 1; i <= szR; i ++) {
}
}
signed main() {
ios_base::sync_with_stdio(false); cin.tie(0);
cout << fixed << setprecision(10);
int Tests = 1; // cin >> Tests;
while (Tests --) {
Solve();
}
}