func_code_string: #include <bits/stdc++.h>   using namespace std;   const double EPS = 1e-10;   const double PI = acos(-1.0);   double tick() {     static clock_t oldtick;     clock_t newtick = clock();     double diff = 1.0 * (newtick - oldtick) / CLOCKS_PER_SEC;     oldtick = newtick;     return diff;   }   template <typename T>   T mod(T a, T b) {     return (a < b ? a : a % b);   }   long long mulmod(long long a, long long b, long long m) {     long long q = (long long)(((long double)a * (long double)b) / (long double)m);     long long r = a * b - q * m;     if (r > m) r %= m;     if (r < 0) r += m;     return r;   }   template <typename T>   T expo(T e, T n) {     T x = 1, p = e;     while (n) {       if (n & 1) x = x * p;       p = p * p;       n >>= 1;     }     return x;   }   template <typename T>   T power(T e, T n, T m) {     T x = 1, p = e;     while (n) {       if (n & 1) x = mod(x * p, m);       p = mod(p * p, m);       n >>= 1;     }     return x;   }   template <typename T>   T powerL(T e, T n, T m) {     T x = 1, p = e;     while (n) {       if (n & 1) x = mulmod(x, p, m);       p = mulmod(p, p, m);       n >>= 1;     }     return x;   }   template <typename T>   T InverseEuler(T a, T m) {     return (a == 1 ? 1 : power(a, m - 2, m));   }   template <typename T>   T gcd(T a, T b) {     return __gcd(a, b);   }   template <typename T>   T lcm(T a, T b) {     return (a * (b / gcd(a, b)));   }   int a[55][55];   int ans[55];   bool v[55][55];   int main() {     int n;     scanf( %d , &n);     for (__typeof(1) i = 1; i <= n; ++i) {       for (__typeof(1) j = 1; j <= n; ++j) {         scanf( %d , &a[i][j]);         v[i][j] = false;       }     }     int first = 1, pos;     int reqd = n - 1;     for (__typeof(1) m = 1; m <= n - 1; ++m) {       pos = -1;       for (__typeof(1) i = 1; i <= n; ++i) {         int count = 0;         for (__typeof(1) j = 1; j <= n; ++j) {           if (a[i][j] == first && v[i][j] == false) {             count++;           }         }         if (count == reqd) {           pos = i;           ans[pos] = first;           first++;           reqd--;           for (__typeof(1) k = 1; k <= n; ++k) {             v[pos][k] = true;           }           for (__typeof(1) k = 1; k <= n; ++k) {             v[k][pos] = true;           }           break;         }       }       if (pos == -1) break;     }     for (__typeof(1) i = 1; i <= n; ++i) {       if (ans[i] == 0) {         ans[i] = first;         first++;       }     }     for (__typeof(1) i = 1; i <= n; ++i) printf( %d  , ans[i]);     printf(  n );     return 0;   }   