Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- unsigned inf = 1e9 + 7;
- const int m = 600;
- int help[m];
- bool vector_cmp(pair<unsigned, unsigned> a, pair<unsigned, unsigned> b) {
- if (help[a.second] < help[b.second]) {
- return true;
- }
- return false;
- }
- bool matrice_cmp(vector <pair <unsigned, unsigned> > a, vector <pair <unsigned, unsigned> > b) {
- for (int i = 0; i < a.size(); ++i) {
- if (a[i].first < b[i].first) {
- return true;
- } else if (b[i].first > a[i].first) {
- return false;
- }
- }
- return true;
- }
- int main() {
- int n, m;
- cin >> n >> m;
- vector <vector <pair <unsigned, unsigned> > > v(n, vector< pair <unsigned, unsigned> > (m));
- int row;
- for (int i = 0; i < n; ++i) {
- for (int j = 0; j < m; ++j) {
- cin >> v[i][j].first;
- if (v[i][j].first < inf) {
- inf = v[i][j].first;
- row = i;
- }
- v[i][j].second = j;
- }
- }
- sort(v[row].begin(), v[row].end());
- vector <pair <unsigned, unsigned> > tmp(v[row].begin(), v[row].end());
- v[row] = v[0];
- v[0] = tmp;
- for (int i = 0; i < m; ++i) {
- help[v[0][i].second] = i;
- }
- for (int i = 1; i < n; ++i) {
- sort(v[i].begin(), v[i].end(), vector_cmp);
- }
- //sort(v.begin() + 1, v.end(), matrice_cmp);
- for (int i = 0; i < n; ++i) {
- for (int j = 0; j < m; ++j) {
- cout << v[i][j].first << ' ';
- }
- cout << endl;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement