299
Cerinţa
Se dau n
numere întregi. Calculaţi cel mai mic dintre cele n
numere date.
Date de intrare
Programul citește de la tastatură numărul n
, iar apoi n
numere întregi, separate prin spaţii.
Date de ieşire
Programul afișează pe ecran numărul MIN
, reprezentând cel mai mic dintre cele n
numere date.
Restricţii şi precizări
1 ≤ n ≤ 1000
- cele
n
numere citite vor avea cel mult9
cifre
Exemplu
Date de intrare
5 7 6 9 6 8
Date de ieșire
6
#include <fstream> #include <vector> #include <queue> #include <algorithm> using namespace std; ifstream cin("BFS.in"); ofstream cout("BFS.out"); vector G[1001]; queue Q; int n , m , x , y , nod , d[1001] , T[1001] , v[1001]; void bfs(int nod) { d[nod] = 0 , v[nod] = 1 , T[nod] = 0; Q.push(nod); while(!Q.empty()) { int x = Q.front(); Q.pop(); for(auto i : G[x]) if(!v[i]) { v[i] = 1; d[i] = d[x] + 1; T[i] = x; Q.push(i); } cout << x << " "; } } int main() { cin >> n >> m >> nod; for(int i = 1 ; i <= m ; i++) { cin >> x >> y; G[x].push_back(y); G[y].push_back(x); } for(int i = 1 ; i <= n ; i++) sort(G[i].begin() , G[i].end()); bfs(nod); return 0; }
Comentarii