QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#692438#9484. Colored Complete GraphTggdb#WA 11ms3680kbC++202.3kb2024-10-31 14:30:082024-10-31 14:31:03

Judging History

This is the latest submission verdict.

  • [2024-10-31 14:31:03]
  • Judged
  • Verdict: WA
  • Time: 11ms
  • Memory: 3680kb
  • [2024-10-31 14:30:08]
  • Submitted

answer

#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define ull unsigned long long

using namespace std;
bool ask(int i, int j)
{
    char flag;
    cout << "? " << i << " " << j << endl;
    cin >> flag;
    if (flag == 'R')
    {
        return 1;
    }
    else
    {
        return 0;
    }
}
queue<int> qu0;
queue<int> qu1;
vector<pair<int, int>> ve1, ve0;
void solve()
{
    int n;
    cin >> n;
    for (int i = 2; i <= n; i++)
    {
        if (ask(1, i))
        {
            qu1.push(i);
            ve1.push_back({ 1, i });
        }
        else
        {
            qu0.push(i);
            ve0.push_back({ 1, i });
        }
    }
    if (qu1.empty())
    {
        cout << "!" << endl;
        for (int i = 0; i < ve0.size(); i++)
        {
            cout << ve0[i].first << " " << ve0[i].second << endl;
        }
        return;
    }
    if (qu0.empty())
    {
        cout << "!" << endl;
        for (int i = 0; i < ve1.size(); i++)
        {
            cout << ve1[i].first << " " << ve1[i].second << endl;
        }
        return;
    }
    int flag = 0;
    int a1, a0;
    while (!qu1.empty() && !qu0.empty())
    {
        if (flag == 0)
        {
            a1 = qu1.front();
            a0 = qu0.front();
            qu1.pop();
            qu0.pop();
        }
        else if (flag == 1)
        {
            a1 = qu1.front();
            qu1.pop();
        }
        else
        {
            a0 = qu0.front();
            qu0.pop();
        }
        if (ask(a1, a0))
        {
            ve1.push_back({ a1,a0 });
            flag = 2;
        }
        else
        {
            ve0.push_back({ a1, a0 });
            flag = 1;
        }
    }
    if (qu1.empty())
    {
        cout << "!" << endl;
        for (int i = 0; i < ve0.size(); i++)
        {
            cout << ve0[i].first << " " << ve0[i].second << endl;
        }
        return;
    }
    if (qu0.empty())
    {
        cout << "!" << endl;
        for (int i = 0; i < ve1.size(); i++)
        {
            cout << ve1[i].first << " " << ve1[i].second << endl;
        }
        return;
    }
}
int main(void)
{
    ios::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    solve();
    return 0;
}

詳細信息

Test #1:

score: 100
Accepted
time: 1ms
memory: 3620kb

input:

3
B
R
B

output:

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

result:

ok AC

Test #2:

score: 0
Accepted
time: 11ms
memory: 3680kb

input:

983
B
R
R
B
B
B
B
B
R
B
R
R
R
R
R
R
R
B
B
R
R
B
R
B
R
R
B
B
R
B
R
R
R
R
B
R
B
B
B
R
R
R
B
B
R
R
B
R
B
R
B
B
B
R
B
R
R
B
R
B
B
R
R
R
B
B
B
B
R
B
R
R
B
R
B
B
R
B
R
B
R
B
R
R
R
B
B
B
R
R
B
B
B
R
R
B
R
B
B
B
R
B
B
R
R
B
B
R
R
R
R
B
R
R
B
B
B
R
B
B
B
B
R
B
R
R
B
R
R
R
B
R
R
B
R
R
B
R
R
B
R
B
R
B
B
R
B
R
...

output:

? 1 2
? 1 3
? 1 4
? 1 5
? 1 6
? 1 7
? 1 8
? 1 9
? 1 10
? 1 11
? 1 12
? 1 13
? 1 14
? 1 15
? 1 16
? 1 17
? 1 18
? 1 19
? 1 20
? 1 21
? 1 22
? 1 23
? 1 24
? 1 25
? 1 26
? 1 27
? 1 28
? 1 29
? 1 30
? 1 31
? 1 32
? 1 33
? 1 34
? 1 35
? 1 36
? 1 37
? 1 38
? 1 39
? 1 40
? 1 41
? 1 42
? 1 43
? 1 44
? 1 45
...

result:

ok AC

Test #3:

score: 0
Accepted
time: 1ms
memory: 3560kb

input:

75
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R

output:

? 1 2
? 1 3
? 1 4
? 1 5
? 1 6
? 1 7
? 1 8
? 1 9
? 1 10
? 1 11
? 1 12
? 1 13
? 1 14
? 1 15
? 1 16
? 1 17
? 1 18
? 1 19
? 1 20
? 1 21
? 1 22
? 1 23
? 1 24
? 1 25
? 1 26
? 1 27
? 1 28
? 1 29
? 1 30
? 1 31
? 1 32
? 1 33
? 1 34
? 1 35
? 1 36
? 1 37
? 1 38
? 1 39
? 1 40
? 1 41
? 1 42
? 1 43
? 1 44
? 1 45
...

result:

ok AC

Test #4:

score: 0
Accepted
time: 3ms
memory: 3628kb

input:

430
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
...

output:

? 1 2
? 1 3
? 1 4
? 1 5
? 1 6
? 1 7
? 1 8
? 1 9
? 1 10
? 1 11
? 1 12
? 1 13
? 1 14
? 1 15
? 1 16
? 1 17
? 1 18
? 1 19
? 1 20
? 1 21
? 1 22
? 1 23
? 1 24
? 1 25
? 1 26
? 1 27
? 1 28
? 1 29
? 1 30
? 1 31
? 1 32
? 1 33
? 1 34
? 1 35
? 1 36
? 1 37
? 1 38
? 1 39
? 1 40
? 1 41
? 1 42
? 1 43
? 1 44
? 1 45
...

result:

ok AC

Test #5:

score: 0
Accepted
time: 3ms
memory: 3564kb

input:

238
B
R
R
B
B
B
B
B
R
B
R
R
R
R
R
R
R
B
B
R
R
B
R
B
R
R
B
B
R
B
R
R
R
R
B
R
B
B
B
R
R
R
B
B
R
R
B
R
B
R
B
B
B
R
B
R
R
B
R
B
B
R
R
R
B
B
B
B
R
B
R
R
B
R
B
B
R
B
R
B
R
B
R
R
R
B
B
B
R
R
B
B
B
R
R
B
R
B
B
B
R
B
B
R
R
B
B
R
R
R
R
B
R
R
B
B
B
R
B
B
B
B
R
B
R
R
B
R
R
R
B
R
R
B
R
R
B
R
R
B
R
B
R
B
B
R
B
R
...

output:

? 1 2
? 1 3
? 1 4
? 1 5
? 1 6
? 1 7
? 1 8
? 1 9
? 1 10
? 1 11
? 1 12
? 1 13
? 1 14
? 1 15
? 1 16
? 1 17
? 1 18
? 1 19
? 1 20
? 1 21
? 1 22
? 1 23
? 1 24
? 1 25
? 1 26
? 1 27
? 1 28
? 1 29
? 1 30
? 1 31
? 1 32
? 1 33
? 1 34
? 1 35
? 1 36
? 1 37
? 1 38
? 1 39
? 1 40
? 1 41
? 1 42
? 1 43
? 1 44
? 1 45
...

result:

ok AC

Test #6:

score: -100
Wrong Answer
time: 1ms
memory: 3652kb

input:

42
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
B
R
R
R
R
R
R
R
R
R
R
R
R
B

output:

? 1 2
? 1 3
? 1 4
? 1 5
? 1 6
? 1 7
? 1 8
? 1 9
? 1 10
? 1 11
? 1 12
? 1 13
? 1 14
? 1 15
? 1 16
? 1 17
? 1 18
? 1 19
? 1 20
? 1 21
? 1 22
? 1 23
? 1 24
? 1 25
? 1 26
? 1 27
? 1 28
? 1 29
? 1 30
? 1 31
? 1 32
? 1 33
? 1 34
? 1 35
? 1 36
? 1 37
? 1 38
? 1 39
? 1 40
? 1 41
? 1 42
? 2 30
!
1 2
1 3
1 4
...

result:

wrong answer guessed graph is incorrect