一道杭州online judge的2022题,一直不能过,请高手看看。

代码如下:#include<stdio.h>#include<math.h>intmain(){intm,n,i,j,max,maxt,maxi,maxj;ints;wh... 代码如下:

#include<stdio.h>
#include<math.h>

int main()
{
int m, n, i, j, max, maxt, maxi, maxj;
int s;

while(scanf("%d%d",&m,&n))
{
maxt = max = 0;
maxi = maxj = 1;

for (i=1; i<=m; i++)
for (j=1; j<=n; j++)
{
scanf("%d",&s);
if (max < fabs(s))
{
max = fabs(s);
maxt = s;
maxi = i;
maxj = j;

}
}
printf("%d %d %d\n",maxi,maxj,maxt);

}
return 0;
}
地址:http://acm.hdu.edu.cn/showproblem.php?pid=2022
展开
 我来答
乡下小子进城
2010-09-25
知道答主
回答量:20
采纳率:28%
帮助的人:9.3万
展开全部
我在网站上提交了你的代码,结果是TLE(1000ms),其实你的问题并不在算法上,问题出在了一个很小的细节上!
只需将你的程序改动一处,就可以AC(15ms)了:
将 “while(scanf("%d%d",&m,&n))”
改为 “while(scanf("%d%d",&m,&n)!=EOF)”
或者 “while(scanf("%d%d",&m,&n)!=-1)”
是不是觉得很郁闷?其实,在ACM中,往往都是一些很小很小的错误让人整得很
“纠结”!

----------------------------------------

问题拓展:

相关的输入结束符:

函数名 结束符
scanf() ----> EOF(即:-1)
getchar() ----> NULL

好了,如果还有什么问题,还可以提出来
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式