Exercițiul 1 va rog in C++
Răspunsuri la întrebare
Răspuns:
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("celebritate.in");
int n,m,i,j,x,y,a[100][100], scol[100];
int main()
{
f >> n >> m;
for (i=1; i<=m; ++i)
{
f >> x >> y;
a[x][y]=1; ++scol[y];
}
int nrcun=scol[1],jcel=1;
for (j=2; j<=n; ++j)
if (scol[j]>nrcun) { nrcun=scol[j]; jcel=j; }
if (nrcun<n-1) cout << "nu exista celebritate";
else
{
int gasit1=0;
for (j=1; j<=n; ++j)
{
if (a[jcel][j]==1) { gasit1=1; break; }
}
if (gasit1) cout << "nu exista celebritate";
else cout << "exista celebritate";
}
}
Explicație:
citind perechile (x,y), aflâm şi sumele pe coloane în vectorul scol[]. Dacă pe careva coloană avem suma maximă posibil n-1, atunci memorăm coloana jcel (poziţia posibilei celebrităţi) şi verificăm dacă pe linia jcel sunt numai 0, adică persoana dată nu cunoaşte pe nimeni din grup