#581
Drumuri
Se dă un graf orientat cu n
noduri și un nod p
. Să se afișeze toate nodurile q
ale grafului, diferite de p
, cu proprietatea că există cel puțin un drum de la p
la q
și lungimea drumului minim este pară.
Problema | Drumuri | Operații I/O |
![]() |
---|---|---|---|
Limita timp | 0.1 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
Id soluție | #58036167 | Utilizator | |
Fișier | drumuri.cpp | Dimensiune | 1.37 KB |
Data încărcării | 09 Mai 2025, 19:51 | Scor / rezultat | Eroare de compilare |
drumuri.cpp:1:20: warning: extra tokens at end of #include directive [enabled by default] #include <iostream>#include <climits>#include <algorithm>using namespace std; int main() { int n, p, m; cin >> n >> p >> m; int adj[101][101] = {0}; // Citire muchii for (int i = 0; i < m; ++i) { int u, v; cin >> u >> v; adj[u][v] = 1; } // Inițializare distanțe const int INF = 1000000; int dist[101]; for (int i = 1; i <= n; ++i) dist[i] = INF; dist[p] = 0; // BFS cu coadă implementată manual int q[10001]; int front = 0, rear = 0; q[rear++] = p; while (front < rear) { int u = q[front++]; for (int v = 1; v <= n; ++v) { if (adj[u][v] && dist[v] == INF) { dist[v] = dist[u] + 1; q[rear++] = v; } } } // Colectare rezultate int result[101]; int count = 0; for (int i = 1; i <= n; ++i) { if (i != p && dist[i] != INF && dist[i] % 2 == 0) { result[count++] = i; } } // Sortare rezultate sort(result, result + count); // Afișare cout << count << "\n"; for (int i = 0; i < count; ++i) cout << result[i] << " "; cout << "\n"; return 0;} ^ drumuri.cpp:1:47: warning: invalid suffix on literal; C++11 requires a space between literal and identifier [-Wliteral-suffix] #include <iostream>#include <climits>#include <algorithm>using namespace std; int main() { int n, p, m; cin >> n >> p >> m; int adj[101][101] = {0}; // Citire muchii for (int i = 0; i < m; ++i) { int u, v; cin >> u >> v; adj[u][v] = 1; } // Inițializare distanțe const int INF = 1000000; int dist[101]; for (int i = 1; i <= n; ++i) dist[i] = INF; dist[p] = 0; // BFS cu coadă implementată manual int q[10001]; int front = 0, rear = 0; q[rear++] = p; while (front < rear) { int u = q[front++]; for (int v = 1; v <= n; ++v) { if (adj[u][v] && dist[v] == INF) { dist[v] = dist[u] + 1; q[rear++] = v; } } } // Colectare rezultate int result[101]; int count = 0; for (int i = 1; i <= n; ++i) { if (i != p && dist[i] != INF && dist[i] % 2 == 0) { result[count++] = i; } } // Sortare rezultate sort(result, result + count); // Afișare cout << count << "\n"; for (int i = 0; i < count; ++i) cout << result[i] << " "; cout << "\n"; return 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 Drumuri 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ă.