Pagini recente » Cod sursa (job #2244006) | Cod sursa (job #974568) | Cod sursa (job #186491) | Cod sursa (job #1270053) | Cod sursa (job #1579614)
#include <cstdio>
#include <algorithm>
#define in "rating.in"
#define out "rating.out"
#define MAXX 100007
#define DIM 100007
using namespace std;
int n, m, poz;
char buff[DIM];
struct Int3
{
int position;
int value;
int prevalue;
bool operator <(const Int3 &aux) const
{
if(value == aux.value) return (prevalue > aux.prevalue);
return (value > aux.value);
}
} v[MAXX];
inline void goNext()
{
++poz;
if(poz == DIM)
{
poz = 0;
fread(buff, 1, DIM, stdin);
}
return ;
}
inline void citeste(int &nr)
{
nr = 0;
while(buff[poz] < '0' || buff[poz] > '9') goNext();
while(buff[poz] >= '0' && buff[poz] <= '9')
{
nr = nr * 10 + buff[poz] - '0';
goNext();
}
return ;
}
int main()
{
freopen(in, "r", stdin);
freopen(out, "w", stdout);
citeste(n);
citeste(m);
int mat[n+23][m+23];
for(int i = 1; i<= n; ++i)
{
for(int j = 1; j<= m; ++j)
{
citeste(mat[j][i]);
}
}
for(int i = 1; i<= m; ++i)
{
for(int j = 1; j<= n; ++j)
{
v[j].position = j;
v[j].prevalue = v[j].value;
v[j].value = mat[i][j];
}
sort(v+1, v+n+1);
for(int i = 1; i<= n; ++i)
{
printf("%d ", v[i].position);
}
printf("\n");
}
return 0;
}