【思路】:需要用手写一下。如下图一目了然。
【AC代码】:
#include <iostream> #include <algorithm> #include <iomanip> #include <cstdio> #include <cstring> using namespace std; #define MAX 20+2 int test[MAX][MAX]; char str[MAX][MAX]; int cnt[MAX]; int main() { //freopen("in.txt", "r", stdin); //freopen("out.txt", "w", stdout); int n = 0, i = 0, j = 0; //input cin >> n; if (2 == n) { cout << 1 << " " << 2; return 0; } for (i = 0; i < n; i++) { for (j = 0; j < n; j++) cin >> test[i][j]; } //trans for (i = 0; i < n; i++) { for (j = 0; j < n; j++) { str[i][j] = test[i][j]+'0'; } str[i][j] = '\0'; } //cnt for (i = 0; i < n; i++) { for (j = 0; j < n; j++) { if (!strcmp(str[i], str[j])) cnt[i]++; } } //output int max = -1, pos = -1; for (i = 0; i < n; i++) { if (cnt[i] > max) { max = cnt[i]; pos = i; } } for (i = 0; i < n; i++) if ('1' == str[pos][i]) cout << i+1<< " "; }
原文地址:http://blog.csdn.net/weijj6608/article/details/44458981