社区讨论

对于一些语句的不理解

P1090[NOIP 2004 提高组] 合并果子参与者 9已保存回复 23

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
23 条
当前快照
1 份
快照标识符
@lo8q6xpq
此快照首次捕获于
2023/10/27 22:45
2 年前
此快照最后确认于
2023/10/27 22:45
2 年前
查看原帖
rt,深基的思路看明白了,但是有几行代码没有明白。
CPP
#include <bits/stdc++.h>
using namespace std;
int n,sz,a1[100010],a2[10010],sum;
int main() {
    cin>>n;
    memset(a1,127,sizeof (a1));
    memset(a2,127,sizeof (a2));
    for (int i = 0; i < n; ++i) {
        cin>>a1[i];
    }
    sort(a1,a1+n);
    int i=0,j=0,w;
    for (int k = 1; k <n; ++k) {
        w=a1[i]<a2[j]?a1[i++]:a2[j++];
        w+=a1[i]<a2[j]?a1[i++]:a2[j++];
        a2[sz++]=w;
        sum+=w;
    }
    cout<<sum;
    return 0;
}

1.为什么kk要初始化成1?
CPP
  w=a1[i]<a2[j]?a1[i++]:a2[j++];
  w+=a1[i]<a2[j]?a1[i++]:a2[j++];
这两行的?与:作用是什么? 谢谢您们

回复

23 条回复,欢迎继续交流。

正在加载回复...