码迷,mamicode.com
首页 > 其他好文 > 详细

1489 数据结构:矩阵鞍点

时间:2015-02-13 22:20:54      阅读:206      评论:0      收藏:0      [点我收藏+]

标签:

即使AC,但此算法仍有不足之处,不能正确处理行最小、列最大+相等的矩阵情况。

2 2
   2 3

应为A[1][1]、A[2][1]

 1 #include <iostream>
 2 #define MAX_SIZE 100+1
 3 using namespace std;
 4 int array[MAX_SIZE][MAX_SIZE];
 5 void creatMatrix()
 6 {
 7     int m,n,iMax,jMax,count=0;//当前列中最大元素的行下标、列下标
 8     scanf("%d%d",&m,&n);
 9     int minRow[m],maxCol[n];
10     for (int i = 1; i <= m; ++i)
11     {
12         scanf("%d",&array[i][1]);
13         minRow[i]=array[i][1];
14         for (int j = 2; j <= n; ++j)
15         {
16             scanf("%d",&array[i][j]);
17             if(array[i][j]<minRow[i]) minRow[i]=array[i][j];
18         }
19     }
20     for (int j = 1; j <= n; ++j)//遍历每一列
21     {
22         maxCol[j]=array[1][j]; iMax=1,jMax=j;
23         for (int i = 1; i <= m; ++i)
24             if(maxCol[j]<array[i][j])
25             {
26                 maxCol[i]=array[i][j];
27                 iMax=i; jMax=j;
28             }
29         if(array[iMax][jMax]==minRow[iMax])
30         {
31             count==0 ? printf("A[%d][%d]",iMax,jMax ):printf(" A[%d][%d]",iMax,jMax );
32             count++;
33         }
34     }
35     if(count==0) printf("NO.");
36     printf("\n");
37 }
38 int main(int argc, char const *argv[])
39 {
40     #ifndef _OJ_  //ONLINE_JUDGE
41     freopen("input.txt", "r", stdin);
42     #endif
43     int num;
44     scanf("%d",&num);
45     while(num--)
46     {
47         creatMatrix();
48         if(num>0) printf("\n");
49     }
50     return 0;
51 }

 

1489 数据结构:矩阵鞍点

标签:

原文地址:http://www.cnblogs.com/Code--Monkey/p/4290905.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!