百炼 3670:计算鞍点
来源:互联网 发布:修改vnc端口 编辑:程序博客网 时间:2024/05/17 05:14
头晕晕做这种行列互换的题
//@auther zhou//@Number 201408070203//@start time://@finish time:/*@此处注意:*//* 测试数据*/#include<iostream>#include<cstring>#include<vector>#include<cmath>#include<algorithm>using namespace std;int main(){int a[5][5];for(int i=0;i<5;i++)for(int j=0;j<5;j++)cin>>a[i][j];int linemax[5];int arrowm[5];int ansline[5];int ansarrow[5];for(int i=0;i<5;i++){int mline=0;for(int j=0;j<5;j++){mline=max(mline,a[i][j]);if(mline==a[i][j]) linemax[i]=j;}ansline[i]=a[i][linemax[i]];//cout<<"linemax:" <<linemax[i]<<" "<<ansline[i]<<endl;}//cout<<endl;for(int j=0;j<5;j++){int arrowmin=999999;for(int i=0;i<5;i++){arrowmin=min(arrowmin,a[i][j]);if(arrowmin==a[i][j]) arrowm[j]=i;}ansarrow[j]=a[arrowm[j]][j];//cout<<"arrowmin:" <<arrowm[j]<<" "<<ansarrow[j]<<endl;}int flag=0;int ansi,ansj;for(int i=0;i<5;i++){if(ansline[i]==ansarrow[linemax[i]]){flag=1;ansi=i;ansj=linemax[i];}}if(flag) cout<<ansi+1<<" "<<ansj+1<<" "<<a[ansi][ansj];else cout<<"not found";return 0;}
总时间限制:
- 描述
给定一个5*5的矩阵,每行只有一个最大值,每列只有一个最小值,寻找这个矩阵的鞍点。
鞍点指的是矩阵中的一个元素,它是所在行的最大值,并且是所在列的最小值。
例如:在下面的例子中(第4行第1列的元素就是鞍点,值为8 )。
11 3 5 6 9
12 4 7 8 10
10 5 6 9 11
8 6 4 7 2
15 10 11 20 25- 输入
- 输入包含一个5行5列的矩阵
- 输出
- 如果存在鞍点,输出鞍点所在的行、列及其值,如果不存在,输出"not found"
- 样例输入
11 3 5 6 912 4 7 8 1010 5 6 9 118 6 4 7 215 10 11 20 25
- 样例输出
4 1 8
阅读全文
0 0
- 百炼 3670:计算鞍点
- 百练_3670计算鞍点
- 鞍点计算
- 计算鞍点
- 鞍点计算
- 鞍点计算
- 鞍点计算
- 鞍点计算
- 鞍点计算
- 计算鞍点
- 鞍点计算
- 鞍点计算
- 计算鞍点
- 鞍点计算
- 1198鞍点计算
- SDUT 鞍点计算
- ytu2019—鞍点计算
- 鞍点计算 SDUT 1198
- Android Studio设置默认签名文件的路径
- 20170704 第二天上班
- 泛型的抽象继承与接口实现注意点
- 加密算法 AES MD5 SHA1
- 解决时间相差8小时 && 与当前时间相差n个月、n天的代码
- 百炼 3670:计算鞍点
- 消息封装与解析
- 【Spring】Spring Framework Reference Documentation中文版26
- java RSA加密生成license,用CPU序列号生成机器码
- LeiQ手把手带你搭博客(一)——整体结构及VPS和域名的购买与解析
- 欢迎使用CSDN-markdown编辑器
- 解决错误 libmysqlclient.so.18: cannot open shared object file: No such file or directory
- webservice接口net
- 补一号的和三号的