关于 AT 的 gcc
  • 板块学术版
  • 楼主NianFeng
  • 当前回复6
  • 已保存回复6
  • 发布时间2024/12/31 10:39
  • 上次更新2024/12/31 19:33:23
查看原帖
关于 AT 的 gcc
670826
NianFeng楼主2024/12/31 10:39

今天在做 这道题 的时候遇到了个抽象问题,本地 AC 的代码在 AT 上过不了样例(WA 掉的代码)。使用 AT 的自定义测试发现,输出确实和本地不一样。经过 2 小时的 debug,发现问题出在 chkmx 函数上:

// ......

template <typename T>
bool chkmx(T &x, T y) { return x < y ? x = y, true : false; }

// ......

bool operator <(const std::pair<int, i64> a,
                const std::pair<int, i64> b) {
   return a.first ^ b.first ?
      a.first < b.first : a.second > b.second;
}

// ......

如果把后面重载的 std::pair<int, i64> 的小于号扔到 chkmx 前就 过了,非常离谱。NOI Linux 带的 gcc 9.4.0,难道是版本的锅?越更越抽了属于是,想问一下有没有大佬见过这种情况 qwq。

2024/12/31 10:39
加载中...