Răspuns :
Răspuns:
#include <iostream>
using namespace std;
int a[101][101], slines[101], rez[101][4];
int main()
{
int n, m, k, i, j, frmax=0, s, p, x, sfrmax=0;
cin >> n >> m >> k;
for (i=1; i<=n; ++i)
for (j=1; j<=m; ++j)
cin >> a[i][j];
for (i=1; i<=n; ++i)
{
s=0;
for (j=1; j<=m; ++j)
s+=a[i][j];
slines[i]=s;
}
int fr;
for (i=1; i<n; ++i)
{
fr=1;
for (j=i+1; j<=n; ++j)
if (slines[i]==slines[j]) ++fr;
if (fr>frmax) {frmax=fr; sfrmax=slines[i]; }
}
p=0;
int dif;
for (i=1; i<=n; ++i)
{
if (slines[i]!=sfrmax)
{
if (sfrmax>slines[i])
{
dif=sfrmax-slines[i];
j=1; while (a[i][j]+dif>=1000000) ++j;
x=a[i][j]+dif; ++p;
rez[p][1]=i; rez[p][2]=j; rez[p][3]=x;
}
else
{
dif=slines[i]-sfrmax;
j=1;
int maxline=a[i][j], poz=j, z;
for (z=j+1; z<=m; ++z)
if (a[i][z]>maxline) { maxline=a[i][z]; poz=z; }
if (dif<=maxline)
{
j=1;
while (a[i][j]-dif<0) ++j;
x=a[i][j]-dif; ++p;
rez[p][1]=i; rez[p][2]=j; rez[p][3]=x;
}
else
{
j=1;
dif=dif-a[i][j]; a[i][j]=0; x=0; ++p;
rez[p][1]=i; rez[p][2]=j; rez[p][3]=x;
x=a[i][poz]-dif;a[i][poz]=x; ++p;
rez[p][1]=i; rez[p][2]=poz; rez[p][3]=x;
}
}
}
}
cout << p << "\n";
for (i=1; i<=p; ++i)
cout << rez[i][1] << " " << rez[i][2] << " " << rez[i][3] << "\n";
return 0;
}
Explicație:
Vă mulțumim că ați ales să vizitați platforma noastră dedicată Informatică. Sperăm că informațiile disponibile v-au fost utile. Dacă aveți întrebări suplimentare sau aveți nevoie de sprijin, nu ezitați să ne contactați. Vă așteptăm cu drag și data viitoare! Nu uitați să adăugați site-ul nostru la favorite pentru acces rapid.