Răspuns :
Defapt nici nu iti trebuie matrici aici, poti sa faci un vector de lungime n+m, in care vei pune toate elementele, dupa care sortezi vectorul descrescator (comanda "sort(vector,vector+n+m,greater<int>())", din libraria <algorithm>), dupa care te uiti daca vector[pozitie]=vector[pozitie+1], atunci scrii vector[pozitie] si returnezi 0. Daca iti trebuie un algoritm rapid folosestel pe acesta care ti lam descris, daca un algoritm care totusi sa includa matrici foloseste pe acesta:
#include <iostream>
using namespace std;
int a[101][101],n,m,i,j,Min,Max,p,s;
int main()
{
cin >> n >> m;
Min=1000001;
Max=-1000001;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
{
cin >> a[i][j];
if(a[i][j]>Max) Max=a[i][j];
else if(a[i][j]<Min) Min=a[i][j];
}
for(int k=Max;k>=Min;k--)
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
{
if(k==a[i][j])
{
if(p!=k) s=0;
s++;
if(k==p and s==2)
{
cout << k;
return 0;
}
p=k;
}
}
cout << "IMPOSIBIL";
return 0;
}
Arata putin spus urit, dar e de 100 pcte :)
#include <iostream>
using namespace std;
int a[101][101],n,m,i,j,Min,Max,p,s;
int main()
{
cin >> n >> m;
Min=1000001;
Max=-1000001;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
{
cin >> a[i][j];
if(a[i][j]>Max) Max=a[i][j];
else if(a[i][j]<Min) Min=a[i][j];
}
for(int k=Max;k>=Min;k--)
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
{
if(k==a[i][j])
{
if(p!=k) s=0;
s++;
if(k==p and s==2)
{
cout << k;
return 0;
}
p=k;
}
}
cout << "IMPOSIBIL";
return 0;
}
Arata putin spus urit, dar e de 100 pcte :)
Vă mulțumim că ați accesat site-ul nostru dedicat Informatică. Sperăm că informațiile furnizate v-au fost utile. Dacă aveți întrebări sau aveți nevoie de asistență suplimentară, nu ezitați să ne contactați. Vă așteptăm cu drag să reveniți și nu uitați să ne salvați la favorite!