遇上件怪事
  • 板块灌水区
  • 楼主Cuiyi_SAI
  • 当前回复8
  • 已保存回复9
  • 发布时间2024/1/25 11:45
  • 上次更新2024/1/25 11:59:35
查看原帖
遇上件怪事
488775
Cuiyi_SAI楼主2024/1/25 11:45

我用同一份代码交 这题 每次提交都是不一样的分数(一部分WA一部分AC)

然后我换了一个账号再交,每次都是AC pFmKKPO.png

用的是这份代码:

#include <bits/stdc++.h>
using namespace std;
int n,a[510][510],s;
pair<int,int> maxn[510],smaxn[510],sm;
priority_queue<pair<int,int> > q[510];
int v[510];
int main(){
    ios::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    cin>>n;
    for(int i=1;i<=n;i++){
        for(int j=i+1;j<=n;j++){
            cin>>a[i][j];
            a[j][i]=a[i][j];
        }
        a[i][i]=-1;
    }
    for(int i=1;i<=n;i++){
        for(int j=1;j<=n;j++){
            if(i==j) continue;
            if(a[i][j]>maxn[i].first){
                smaxn[i]=maxn[i];
                maxn[i]=make_pair(a[i][j],j);
            }
            else smaxn[i]=max(smaxn[i],make_pair(a[i][j],j));
            q[i].push(make_pair(a[i][j],j));
        }
        if(smaxn[i].first>sm.first) sm=smaxn[i],s=i;
    }
    v[s]=1;
    while(v[q[s].top().second]) q[s].pop();
    s=q[s].top().second;
    v[s]=2;
    v[sm.second]=1;
    while(v[q[sm.second].top().second]) q[sm.second].pop();
    s=q[sm.second].top().second;
    v[s]=2;
    for(int i=3;i<=n/2;i++){
        while(v[q[s].top().second]) q[s].pop();
        s=q[s].top().second;
        v[s]=1;
        while(v[q[s].top().second]) q[s].pop();
        s=q[s].top().second;
        v[s]=2;
    }
    int aa;
    for(int i=1;i<=n;i++){
        if(v[i]!=2) continue;
        for(int j=1;j<=n;j++){
            if(i==j||v[j]!=2) continue;
            aa=max(aa,a[i][j]);
        }
    }
    if(aa>sm.first) cout<<0;
    else cout<<"1\n"<<sm.first;
    return 0;
}

现在两个账号交都变成AC了,这是bug吗

2024/1/25 11:45
加载中...