C++ 找鞍点

作者: 静_谷 | 来源:发表于2017-03-06 13:52 被阅读244次

    好经典的信息学竞赛题,题目应该都熟悉吧
    (本着负责的态度还是贴上吧……)

    找鞍点。
    鞍点:在行上是最大,而在列上是最小的元素
    1 2 3
    4 5 6
    7 8 9
    这个数组中,3就为鞍点

    上代码:

    #include <iostream>
    
    using namespace std;
    
    int main()
    {
        int a[3][3];
        for(int i=0;i<3;i++)
                for(int j=0;j<3;j++)
                        cin>>a[i][j];
        for(int y=0;y<3;y++)
        {
                int min = a[0][y];
                int x_min=0;
                for(int x=0;x<3;x++)
                {
                        if(a[x][y] < min)
                        {
                                   x_min=x;
                                   min = a[x][y];
                        }
                }
                int max = a[x_min][0];
                for(int y=0;y<3;y++)
                {
                        if(a[x_min][y] > max)
                                   max = a[x_min][y];
                }
                if(min == max)
                       cout<<max;
        }
        cin.get();
        cin.get();
        return 0;
    }
    

    思路就是,先找出列上是最小的元素,再在那一行确认这个元素是否为最大的
    没什么好说的,自己领会吧~

    相关文章

      网友评论

        本文标题:C++ 找鞍点

        本文链接:https://www.haomeiwen.com/subject/zvxugttx.html