QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#764043#9484. Colored Complete GraphQingTianWA 1ms3616kbC++201.4kb2024-11-19 23:33:342024-11-19 23:33:35

Judging History

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

  • [2024-11-19 23:33:35]
  • 评测
  • 测评结果:WA
  • 用时:1ms
  • 内存:3616kb
  • [2024-11-19 23:33:34]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;
typedef pair<int,int> pii;
const int N=2e5+10;
int n;
vector<int> a,b,remainA,remainB;
vector<pii> ar,br;
int sta[N],stb[N];
int query(int u,int v){
    cout<<"? "<<u<<' '<<v<<endl;
    string s;cin>>s;
    return s=="R";
}
void answer(){
    if(a.size()==n){
        for(auto &[x,y]:ar){
            cout<<x<<' '<<y<<endl;
        }
    }else{
        for(auto &[x,y]:br){
            cout<<x<<' '<<y<<endl;
        }
    }
}
int main(){
    cin>>n;
    a.push_back(1);
    b.push_back(1);
    sta[1]=1;
    stb[1]=1;
    for(int i=2;i<=n;i++){
        bool res=query(1,i);
        if(res){
            ar.push_back({1,i});
            a.push_back(i);
            sta[i]=1;
        }else{
            br.push_back({1,i});
            b.push_back(i);
            stb[i]=1;
        }
    }
    for(int i=1;i<=n;i++){
        if(!sta[i]) remainA.push_back(i);
        if(!stb[i]) remainB.push_back(i);
    }

    while(a.size()!=n && b.size()!=n){
        int a1=remainA.back(),b1=remainB.back();
        bool tp=query(a1,b1);
        if(tp){
            remainA.pop_back();
            a.push_back(a1);
            ar.push_back({a1,b1});
        }else{
            remainB.pop_back();
            b.push_back(b1);
            br.push_back({a1,b1});
        }

    }
    answer();
    return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 0
Wrong Answer
time: 1ms
memory: 3616kb

input:

3
B
R
B

output:

? 1 2
? 1 3
? 2 3
1 2
2 3

result:

wrong answer invalid question