求助三目运算符
  • 板块学术版
  • 楼主tbdsh
  • 当前回复9
  • 已保存回复9
  • 发布时间2024/9/2 08:56
  • 上次更新2024/9/2 19:24:17
查看原帖
求助三目运算符
752485
tbdsh楼主2024/9/2 08:56

这是两份代码,代码实际内容是完全相同的:

  s[u] != s[v] ? fa[find(u)] = find(v) : vis[u] = vis[v] = 1, Fa[Find(u)] = Find(v), g[u].push_back(v), g[v].push_back(u);
if (s[u] != s[v]){
    fa[find(u)] = find(v);
  }else {
    vis[u] = vis[v] = 1;
    Fa[Find(u)] = Find(v);
    g[u].push_back(v);
    g[v].push_back(u);
  }

但是在题目实现中,使用第一份代码是正确的,第二份代码是错误的。

机房同学说是三目运算符的执行逻辑问题,但试了一下好像不太对。

求助第二份代码的错误原因/第一份代码的正确原因。

题目是 P10572 [JRKSJ R8] +1-1

完整代码:Link(上述提到的代码均在 add 函数内)

2024/9/2 08:56
加载中...