383
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
nnumere citite vor avea cel mult9cifre
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