杭电p2023 不知道在哪有问题有时候是Time Limit Exceeded有时是runtime error (access_violation)

AlllenlllA 2016-01-26 02:02:58
和其他AC代码比较后思路细节都没发现问题。
求大神指点啊!!!!
#include<stdio.h>
int main()
{
int n, m;
while(scanf("%d%d", &n, &m) != EOF)
{
int sum[100][100];
int i, j;
double a[m] ;
double b[n] ;
for(i = 0; i < n; i++)
{
a[i] = 0;
for(j = 0; j < m; j++)
{
scanf("%d", &sum[i][j]);
a[i] = a[i]+sum[i][j];
}
a[i] /= m;
}
for(j = 0; j < m; j++)
{
b[j] = 0;
for(i = 0; i < n; i++)
{
b[j] += sum[i][j];
}
b[j] /= n;
}
int k = 0;
for(j = 0; j < n; j++)
{
int num = 0;
for(i = 0; i < m; i++)
{
if(sum[i][j] >= a[i])
{
num++;
}
}
if(num == m)
{
k++;
}
}
for(j = 0; j < n; j++)
{
if(j != n-1)
{
printf("%.2lf ", a[j]);
}
else
{
printf("%.2lf\n", a[j]);
}
}
for(i = 0; i < m; i++)
{
if(i != m-1)
{
printf("%.2lf ", b[i]);
}
else
{
printf("%.2lf\n", b[i]);
}
}
printf("%d\n\n", k);
}
return 0;
}
...全文
144 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
AlllenlllA 2016-01-26
  • 打赏
  • 举报
回复
哦哦。找到错的地方了!! 1. double a[m] ; double b[n] ; 数组长度不匹配 应该改为 double a[n] ; double b[m] ; 2.if(sum[i][j] >= a[i]) 比较的不对改为 if(sum[j][i] >= b[i])
fly_dragon_fly 2016-01-26
  • 打赏
  • 举报
回复
把sum移到外面作全局变量试试, 不确定oj对变长数组支持怎么样, 把a,b也移出试试
AlllenlllA 2016-01-26
  • 打赏
  • 举报
回复
第一次发帖 代码格式 没弄整齐 真心不好意识。。。
AlllenlllA 2016-01-26
  • 打赏
  • 举报
回复
自己顶下先!!!!

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧