QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#776083#9783. Duloc Networkucup-team3282#Compile Error//C++141.8kb2024-11-23 17:30:592024-11-23 17:30:59

Judging History

你现在查看的是最新测评结果

  • [2024-11-23 17:30:59]
  • 评测
  • [2024-11-23 17:30:59]
  • 提交

answer

#include<iostream>
#include<algorithm>
#include<cstring>
#include<cstdlib>
#include<vector>
#include<random>
using namespace std;
mt19937 a(time(null));
int f[1000050];
string base,s;
int n;
int cnt=0;
int query(vector<int>s1){
    cnt++;
    if(cnt>3500){
        for(int i=1;i>=1;i++);
    }
    s=base;
    for(auto x:s1){
        s[x-1]='1';
    }
    cout<<"? "<<s<<endl;
    int x;cin>>x;
    return x;
}
vector<int>lg;
int num;
vector<pair<int,int>>nw;
bool vis[1000050];
bool solve(){
    // cout<<"new round"<<endl;
    bool flag=0;
    for(int i=1;i<=n;i++){
        vis[i]=0;
    }nw.clear();
    // cout<<"now:";
    for(auto x:lg){
        // cout<<x<<"/";
        vis[x]=1;
    }
    // cout<<endl;
    for(int i=1;i<=n;i++){
        if(vis[i]==0){
            nw.push_back(make_pair(a(),i));
        }
    }
    // cout<<"rep:"<<nw.size()<<endl;
    sort(nw.begin(),nw.end());
    vector<int>qus=lg;
    for(auto xxx:nw){
        int x=xxx.second;
        qus.push_back(x);
        int r=query(qus);
        if(num+f[x]>r){
            //连通
            num=r;
            flag=1;
            lg.push_back(x);
        }else{
            qus.pop_back();
        }
    }
    return flag;
}
int main(){
    cin>>n;
    int mx=1;
    for(int i=1;i<=n;i++){
        base=base+'0';
    }
    vector<pair<int,int>>ln;
    for(int i=1;i<=n;i++){
        vector<int>aa;
        aa.push_back(i);
        f[i]=query(aa);
        if(f[i]>f[mx]){
            ln.clear();
            mx=i;
        }
        if(f[i]==f[mx]){
            ln.push_back(make_pair(a(),i));
        }
    }
    sort(ln.begin(),ln.end());
    mx=ln[0].second;
    // cout<<mx<<"?";
    lg.push_back(mx);
    
    num=f[mx];
    while(solve());
    if(lg.size()==n)cout<<"! 1"<<endl;
    else cout<<"! 0"<<endl;
}

Details

answer.code:8:16: error: ‘null’ was not declared in this scope
    8 | mt19937 a(time(null));
      |                ^~~~