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 pentru vizita pe site-ul nostru dedicat Informatică. Sperăm că informațiile disponibile v-au fost utile și inspiraționale. Dacă aveți întrebări sau aveți nevoie de suport suplimentar, suntem aici pentru a vă ajuta. Ne face plăcere să vă revedem și vă invităm să adăugați site-ul nostru la favorite pentru acces rapid!