| 20321 | 2026-01-06 13:51:06 | hunzombi | Bináris Sakk | cpp17 | Hibás válasz 0/100 | 1.526s | 11488 KiB |
#include <bits/stdc++.h>
using namespace std;
const long long MOD = 1e9 + 7;
int r, c, n;
vector<vector<int>> nodes;
bool sort1(vector<int> a, vector<int> b) {
return (a[0] <= b[0]);
}
bool sort2(vector<int> a, vector<int> b) {
return (a[1] <= b[1]);
}
bool sort3(vector<int> a, vector<int> b) {
return (abs(a[1] - a[0]) <= abs(b[1] - b[0]));
}
bool sort4(vector<int> a, vector<int> b) {
return (a[0] + a[1] <= b[0] + b[1]);
}
int main()
{
ios::sync_with_stdio(false);
cin.tie(nullptr);
cin >> r >> c >> n;
vector<bool> group(n, false);
for (int i=0; i < n; i++) {
int u, v;
cin >> u >> v;
nodes.push_back({u, v, i});
}
int ans = 0;
sort(nodes.begin(), nodes.end(), sort1);
for (int i=1; i < n; i++) {
vector<int> prev = nodes[i - 1];
vector<int> cur = nodes[i];
if (prev[0] == cur[0]) {
if (!group[prev[2]] && !group[cur[2]]) {
ans++;
}
group[prev[2]] = true;
group[cur[2]] = true;
}
}
sort(nodes.begin(), nodes.end(), sort2);
for (int i=1; i < n; i++) {
vector<int> prev = nodes[i - 1];
vector<int> cur = nodes[i];
if (prev[1] == cur[1]) {
if (!group[prev[2]] && !group[cur[2]]) {
ans++;
}
group[prev[2]] = true;
group[cur[2]] = true;
}
}
sort(nodes.begin(), nodes.end(), sort3);
for (int i=1; i < n; i++) {
vector<int> prev = nodes[i - 1];
vector<int> cur = nodes[i];
if (abs(prev[1] - prev[0]) == abs(cur[1] - cur[0])) {
if (!group[prev[2]] && !group[cur[2]]) {
ans++;
}
group[prev[2]] = true;
group[cur[2]] = true;
}
}
sort(nodes.begin(), nodes.end(), sort4);
for (int i=1; i < n; i++) {
vector<int> prev = nodes[i - 1];
vector<int> cur = nodes[i];
if (prev[1] + prev[0] == cur[1] - cur[0]) {
if (!group[prev[2]] && !group[cur[2]]) {
ans++;
}
group[prev[2]] = true;
group[cur[2]] = true;
}
}
for (int i=0; i < n; i++) {
if (!group[i]) {
ans++;
}
group[i] = true;
}
int res = 1;
while (ans--) {
res = (res * 2) % MOD;
}
cout << res << '\n';
return 0;
}
| Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
|---|---|---|---|---|---|---|---|
| subtask1 | 0/0 | ||||||
| 1 | Elfogadva | 1ms | 316 KiB | ||||
| 2 | Elfogadva | 1ms | 316 KiB | ||||
| subtask2 | 0/11 | ||||||
| 3 | Elfogadva | 1ms | 544 KiB | ||||
| 4 | Elfogadva | 1ms | 316 KiB | ||||
| 5 | Elfogadva | 1ms | 316 KiB | ||||
| 6 | Elfogadva | 1ms | 332 KiB | ||||
| 7 | Elfogadva | 1ms | 316 KiB | ||||
| 8 | Hibás válasz | 3ms | 452 KiB | ||||
| 9 | Hibás válasz | 3ms | 316 KiB | ||||
| 10 | Futási hiba | 1ms | 316 KiB | ||||
| 11 | Hibás válasz | 4ms | 476 KiB | ||||
| 12 | Hibás válasz | 4ms | 316 KiB | ||||
| 13 | Hibás válasz | 4ms | 480 KiB | ||||
| 14 | Futási hiba | 1ms | 316 KiB | ||||
| 15 | Futási hiba | 2ms | 316 KiB | ||||
| 16 | Futási hiba | 3ms | 316 KiB | ||||
| 17 | Futási hiba | 4ms | 508 KiB | ||||
| 18 | Hibás válasz | 1ms | 316 KiB | ||||
| subtask3 | 0/19 | ||||||
| 19 | Futási hiba | 35ms | 5604 KiB | ||||
| 20 | Futási hiba | 9ms | 1840 KiB | ||||
| 21 | Futási hiba | 8ms | 1612 KiB | ||||
| 22 | Futási hiba | 76ms | 10964 KiB | ||||
| 23 | Futási hiba | 14ms | 2796 KiB | ||||
| 24 | Futási hiba | 18ms | 1076 KiB | ||||
| 25 | Futási hiba | 82ms | 11472 KiB | ||||
| 26 | Futási hiba | 83ms | 11476 KiB | ||||
| 27 | Futási hiba | 90ms | 11476 KiB | ||||
| 28 | Futási hiba | 101ms | 11476 KiB | ||||
| 29 | Futási hiba | 81ms | 11304 KiB | ||||
| 30 | Futási hiba | 105ms | 11476 KiB | ||||
| 31 | Futási hiba | 72ms | 11480 KiB | ||||
| 32 | Futási hiba | 81ms | 11476 KiB | ||||
| subtask4 | 0/19 | ||||||
| 33 | Elfogadva | 4ms | 512 KiB | ||||
| 34 | Elfogadva | 4ms | 448 KiB | ||||
| 35 | Elfogadva | 2ms | 508 KiB | ||||
| 36 | Elfogadva | 2ms | 316 KiB | ||||
| 37 | Elfogadva | 2ms | 316 KiB | ||||
| 38 | Elfogadva | 2ms | 500 KiB | ||||
| 39 | Elfogadva | 4ms | 508 KiB | ||||
| 40 | Elfogadva | 4ms | 324 KiB | ||||
| 41 | Elfogadva | 4ms | 316 KiB | ||||
| 42 | Elfogadva | 4ms | 500 KiB | ||||
| 43 | Futási hiba | 1ms | 508 KiB | ||||
| 44 | Futási hiba | 2ms | 316 KiB | ||||
| 45 | Futási hiba | 3ms | 316 KiB | ||||
| 46 | Futási hiba | 3ms | 316 KiB | ||||
| 47 | Elfogadva | 4ms | 316 KiB | ||||
| subtask5 | 0/51 | ||||||
| 48 | Hibás válasz | 81ms | 1328 KiB | ||||
| 49 | Hibás válasz | 230ms | 2748 KiB | ||||
| 50 | Hibás válasz | 907ms | 10720 KiB | ||||
| 51 | Hibás válasz | 1.182s | 10720 KiB | ||||
| 52 | Hibás válasz | 389ms | 3928 KiB | ||||
| 53 | Hibás válasz | 569ms | 5348 KiB | ||||
| 54 | Hibás válasz | 219ms | 2796 KiB | ||||
| 55 | Elfogadva | 71ms | 1136 KiB | ||||
| 56 | Hibás válasz | 218ms | 2796 KiB | ||||
| 57 | Hibás válasz | 1.389s | 11032 KiB | ||||
| 58 | Hibás válasz | 1.526s | 11224 KiB | ||||
| 59 | Hibás válasz | 1.43s | 11220 KiB | ||||
| 60 | Hibás válasz | 1.513s | 11220 KiB | ||||
| 61 | Hibás válasz | 1.447s | 11220 KiB | ||||
| 62 | Hibás válasz | 1.518s | 11220 KiB | ||||
| 63 | Futási hiba | 79ms | 11464 KiB | ||||
| 64 | Futási hiba | 382ms | 11488 KiB | ||||
| 65 | Futási hiba | 689ms | 11416 KiB | ||||
| 66 | Futási hiba | 832ms | 11416 KiB | ||||
| 67 | Hibás válasz | 1.402s | 11220 KiB | ||||
| 68 | Hibás válasz | 1.442s | 11220 KiB | ||||