#include <iostream>
#include <vector>
#include <map>
using namespace std;
typedef long long int ll;
int N, K, P;
long long int attacked;
vector<int> rowXOR, colXOR;
map<pair<int, int>, int> rooks;
map<int, int> valRows, valCols;
void init() {
attacked = 0;
rowXOR.assign(N, 0);
colXOR.assign(N, 0);
valRows[0] = N;
valCols[0] = N;
}
void include(int r, int c, int p) {
attacked -= (ll) (N - valRows[colXOR[c]]);
attacked -= (ll) (N - valCols[rowXOR[r]]);
valRows[rowXOR[r]]--;
valCols[colXOR[c]]--;
rooks[{r, c}] = p;
rowXOR[r] ^= p;
colXOR[c] ^= p;
valRows[rowXOR[r]]++;
valCols[colXOR[c]]++;
attacked += (ll) (N - valRows[colXOR[c]]);
attacked += (ll) (N - valCols[rowXOR[r]]);
}
int main() {
ios::sync_with_stdio(false);
cin.tie(NULL);
int r, c, p, r2, c2;
cin >> N >> K >> P;
init();
for (int i = 0; i < K; i++) {
cin >> r >> c >> p;
include(r-1, c-1, p);
//cout << attacked << '\n';
}
for (int i = 0; i < P; i++) {
cin >> r >> c >> r2 >> c2;
p = rooks[{r-1, c-1}];
include(r-1, c-1, p);
include(r2-1, c2-1, p);
cout << attacked << '\n';
}
return 0;
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
364 KB |
Output is correct |
2 |
Correct |
1 ms |
364 KB |
Output is correct |
3 |
Correct |
1 ms |
364 KB |
Output is correct |
4 |
Correct |
1 ms |
364 KB |
Output is correct |
5 |
Correct |
1 ms |
364 KB |
Output is correct |
6 |
Correct |
51 ms |
15980 KB |
Output is correct |
7 |
Correct |
43 ms |
10732 KB |
Output is correct |
8 |
Correct |
36 ms |
14188 KB |
Output is correct |
9 |
Correct |
44 ms |
14572 KB |
Output is correct |
10 |
Correct |
50 ms |
14828 KB |
Output is correct |
11 |
Runtime error |
50 ms |
65540 KB |
Execution killed with signal 9 |
12 |
Runtime error |
47 ms |
65540 KB |
Execution killed with signal 9 |
13 |
Runtime error |
46 ms |
65540 KB |
Execution killed with signal 9 |
14 |
Runtime error |
57 ms |
65540 KB |
Execution killed with signal 9 |
15 |
Runtime error |
49 ms |
65540 KB |
Execution killed with signal 9 |
16 |
Runtime error |
53 ms |
65540 KB |
Execution killed with signal 9 |
17 |
Runtime error |
50 ms |
65540 KB |
Execution killed with signal 9 |
18 |
Runtime error |
50 ms |
65540 KB |
Execution killed with signal 9 |
19 |
Runtime error |
47 ms |
65536 KB |
Execution killed with signal 9 |
20 |
Runtime error |
49 ms |
65540 KB |
Execution killed with signal 9 |