警钟长鸣
  • 板块灌水区
  • 楼主BigCookie233
  • 当前回复3
  • 已保存回复3
  • 发布时间2024/8/6 09:59
  • 上次更新2024/8/6 11:04:36
查看原帖
警钟长鸣
242291
BigCookie233楼主2024/8/6 09:59

在洛谷的评测机中,如果一个应有返回值的函数实际上没有返回任何值,编译器可能会报错,但若没有报错而成功通过编译,会导致所有测试点MLE。

例如以下代码:

typedef long long ll;

ll exgcd(ll a, ll b, ll &x, ll &y) {
  if (!b) {
    x = 1;
    y = 0;
  }
  else
  {
  	exgcd(b,a%b,x,y);
  	ll t=x;
  	x=y;
  	y=t-(a/b)*y;
  }
}

这段代码中的函数被声明为返回 long long 类型,但实际上没有返回值。这时评测机可能会报MLE而非RE。

2024/8/6 09:59
加载中...