Problem E: 矩阵鞍点
AC代码
#include<stdio.h>
int main()
{
int a[][];
int b[];
int i,j,t,n;
while(scanf("%d",&n)!=EOF)
{
int flag = ;//用于标示数组b中是否存在不是-1的元素
for(i=;i<n;i++)
for(j=;j<n;j++)
scanf("%d",&a[i][j]); //找出每一行中最大的元素,并把列号存在数组b中
for(i=;i<n;i++)
{
//默认每一行第一个元素为最大值
b[i] = a[i][];
//引入一个循环变量t用来记录最大值的列号
t = ;
//把最大值的数值暂时存在b中,把最大值的列号暂时存在t中
for(j=;j<n;j++)
{
if(b[i]<a[i][j])
{
b[i] = a[i][j];
t = j;
}
}
//如果一行中有两个相同的最大值,t等于-1
for(j=;j<n;j++)
{
if(b[i]==a[i][j]&&j!=t)
{
t = -;
}
}
//把最大值的列号存在b中
b[i] = t;
} for(i=;i<n;i++)
{
if(b[i]!=-)
{
for(j=;j<n;j++)
{
if(a[i][b[i]]>a[j][b[i]])
{
b[i] = -;
}
else if(a[i][b[i]]==a[j][b[i]]&&i!=j)
{
b[i] = -;
}
}
}
}
for(i=;i<n;i++)
{
if(b[i]!=-)
{
flag = ;
printf("%d %d\n",i,b[i]);
}
}
if(flag==)
{
printf("NO\n");
}
}
return ;
}
AC失败,但输出好像并没有问题
#include<stdio.h>
int main()
{
int n,a[][],i,j;
while(scanf("%d",&n)!=EOF)
{
int flag=,x=,y=,x1=;
for(i=;i<n;i++)
for(j=;j<n;j++)
scanf("%d",&a[i][j]);
for(i=;i<n;i++)
{
for(j=;j<n;j++)
{
if(a[i][j]>a[x][y])
y=j;
}
for(int t=,y=j;t<n;t++)
{
if(a[t][j]<a[x1][j])
x1=t;
}
}
if(x1==x)
{
printf("%d %d\n",x1,y);
flag;
}
else
{
printf("NO\n");
flag=;
}
}
return ;
}
Problem E: 矩阵鞍点的更多相关文章
- HDU1757-A Simple Math Problem,矩阵快速幂,构造矩阵水过
A Simple Math Problem 一个矩阵快速幂水题,关键在于如何构造矩阵.做过一些很裸的矩阵快速幂,比如斐波那契的变形,这个题就类似那种构造.比赛的时候手残把矩阵相乘的一个j写成了i,调试 ...
- hdu 1757 A Simple Math Problem (乘法矩阵)
A Simple Math Problem Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Ot ...
- HDU----(4291)A Short problem(快速矩阵幂)
A Short problem Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)T ...
- hdu 1757 A Simple Math Problem(矩阵快速幂乘法)
Problem Description Lele now is thinking about a simple function f(x). If x < f(x) = x. If x > ...
- hdu 4291 A Short problem(矩阵+取模循环节)
A Short problem Time Limit: 2000/1000 MS (J ...
- HDU-1757--A Simple Math Problem(矩阵乘法)
Problem Description Lele now is thinking about a simple function f(x).If x < 10 f(x) = x.If x > ...
- HDU 4291 A Short problem(矩阵+循环节)
A Short problem Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)T ...
- A Simple Math Problem(矩阵快速幂)(寒假闭关第一题,有点曲折啊)
A Simple Math Problem Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Other ...
- HDU1757:A Simple Math Problem(矩阵快速幂)
http://acm.hdu.edu.cn/showproblem.php?pid=1757 Problem Description Lele now is thinking about a simp ...
随机推荐
- HashMap根据value获取key值
public static String getCityId(HashMap<String,String> citys, String city){ Set set = citys.ent ...
- vue路由-基础
安装 1.直接下载 / CDN https://unpkg.com/vue-router/dist/vue-router.js 在 Vue 后面加载 vue-router,它会自动安装的: <s ...
- 菜鸟学习nodejs--Socket.IO即时通讯
https://blog.csdn.net/lovemenghaibin/article/details/51263774
- codevs 3287 货车运输 NOIP2013提高组
题目链接:http://codevs.cn/problem/3287/ 题解: 和bzoj3732一毛一样,只不过是找最大生成树和最小值罢了,具体参见我的bzoj3732的博客 #include< ...
- C后端设计开发 - 第1章-流派-入我华山,学我剑法
正文 第1章-流派-入我华山,学我剑法 后记 如果有错误, 欢迎指正. 有好的补充, 和疑问欢迎交流, 一块提高. 在此谢谢大家了.
- java 和 JVM
C++和Java的区别 指针:java中不存在指针的概念,编程者无法直接通过指针来直接访问内存,有利于维护java程序的安全 多重继承:C++支持多重继承,java不支持多重继承,但是允许一个类继承多 ...
- 排名函数row_number() over(order by)用法
1. 定义 简单的说row_number()从1开始,为每一条分组记录返回一个数字,这里的ROW_NUMBER() OVER (ORDER BY [列名]DESC) 是先把[列名]降序排列,再为降序以 ...
- 苹果电脑Mac OS系统重装图文详解
苹果电脑Mac OS系统重装图文详解 本文来自于[系统之家] www.xp85.com现在电脑都很强大,可是也很脆弱,常常需要你去维护,甚至经常需要你重装系统,那么Mac OS又如何重装系统呢?刚刚使 ...
- elasticsearch索引加别名
curl -XPOST 'http://localhost:9200/_aliases' -d ' { "actions": [ {&qu ...
- CentOS7.5安装下载工具
### 视频下载工具 [you-get](https://github.com/soimort/you-get) 和 [youtube-dl](https://github.com/rg3/youtu ...