#4199
flowers
Grădina Academiei Shuchi’in are forma unui pătrat cu latura de N
metri și este împărțit în N × N
parcele pătrate cu dimensiunea de 1
metru. Harta grădinii arată că parcelele sunt aranjate pe linii și coloane și sunt notate cu perechi (r, c)
, unde r
este linia și c
coloana pe care o ocupă parcela. Unele parcele, marcate cu 0
pe harta grădinii, conțin copaci străvechi care nu au putut fi mutați sau tăiați când grădina a fost restaurată. Alte parcele, marcate cu 1
, conțin flori. Notăm cu F
numărul total de parcele care conțin flori. Kaguya definește gradul de înflorire a unei parcele ca fiind suma distanțelor de la parcela curentă la cele mai apropiate K
parcele care conțin flori. Ea vrea să știe gradul de înflorire al fiecărei parcele.
Problema | flowers | Operații I/O |
![]() |
---|---|---|---|
Limita timp | 0.5 secunde | Limita memorie |
Total: 256 MB
/
Stivă 64 MB
|
Id soluție | #51306152 | Utilizator | |
Fișier | flowers.cpp | Dimensiune | 1.27 KB |
Data încărcării | 05 Iunie 2024, 21:49 | Scor / rezultat | Eroare de compilare |
flowers.cpp:1:21: warning: extra tokens at end of #include directive [enabled by default] #include <iostream> #include <vector> #include <queue> #include <algorithm> #include <climits> using namespace std; // Structură pentru a reprezenta o celulă și distanța sa struct Cell { int r, c, dist; operator bool<(const Cell& other) const { return dist > other.dist; } }; int main() { int N, K; cin >> N >> K; vector<vector<int>> gradina(N, vector<int>(N)); vector<pereche<int, int>> flori; // Citirea matricei și identificarea florilor for (int i = 0; i < N; ++i) { string line; cin >> line; pentru (int j = 0; j < N; ++j) { gradina[i][j] = line[j] - '0'; if (gradina[i][j] == 1) { flori.push_back({i, j}); } } } vector<vector<int>> rezultat(N, vector<int>(N, 0)); // Calcularea gradului de înflorire pentru fiecare parcelă for (int i = 0; i < N; ++i) { for (int j = 0; j < N; ++j) { // Min-heap pentru a stoca cele mai mici K distanțe priority_queue<Cell> pq; for (auto& flower : flowers) { int dist = abs(i - flower.first) + abs(j - flower.second); pq.push({flower.first, flower.second, dist}); if (pq.size() > K) pq.pop(); } int sumDist = 0; while (!pq.empty()) { sumDist += pq.top().dist; pq.pop(); } rezultat[i][j] = sumDist; } } // Afișarea rezultatelor for (int i = 0; i < N; ++i) { for (int j = 0; j < N; ++j) { cout << result[i][j] << " "; } cout << endl; } returnează 0; } ^ /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 0 has invalid symbol index 11 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 1 has invalid symbol index 12 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 2 has invalid symbol index 2 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 3 has invalid symbol index 2 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 4 has invalid symbol index 11 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 5 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 6 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 7 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 8 has invalid symbol index 12 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 9 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 10 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 11 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 12 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 13 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 14 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 15 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 16 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 17 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 18 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 19 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 20 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 21 has invalid symbol index 22 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_line): relocation 0 has invalid symbol index 2 /usr/lib/gcc/i686-linux-gnu/4.8/../../../i386-linux-gnu/crt1.o: In function \`_start': (.text+0x18): undefined reference to \`main' collect2: error: ld returned 1 exit status
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema flowers face parte din prima categorie. Soluția propusă de tine va fi evaluată astfel:
Suma punctajelor acordate pe testele utilizate pentru verificare este 100. Astfel, soluția ta poate obține cel mult 100 de puncte, caz în care se poate considera corectă.