QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#856973 | #9484. Colored Complete Graph | Nafeeszx | WA | 5ms | 3712kb | C++20 | 1.7kb | 2025-01-14 21:49:39 | 2025-01-14 21:49:41 |
Judging History
answer
#pragma GCC optimize("O3")
#pragma GCC optimize("unroll-loops")
#include <bits/stdc++.h>
using namespace std;
#define trav(a, x) for(auto& a : x)
#define FOR(i, a, b) for (int i=(a); i<=(signed)(b); i++)
#define ROF(i, a, b) for (int i=(a); i>=(signed)(b); i--)
#define F0R(i, a) for (int i=0; i<(signed)(a); i++)
#define vi vector<int>
#define f first
#define s second
#define all(v) (v).begin(), (v).end()
typedef long long ll;
using pii = pair<int, int>;
const ll mod = 1e9 + 7;
void pans(vector<pii> a) {
cout << "!\n";
trav(u, a) {
cout << u.first << " " << u.second << endl;
}
}
int main()
{
ios_base::sync_with_stdio(0); cin.tie(0);
int n; cin >> n;
vector<pii> red, blue;
vector<int> b, r;
F0R(i, n-1) {
cout << "? " << 1 << " " << i+2 << endl;
char c; cin >> c;
if(c=='R') {
red.emplace_back(1,i+2);
r.push_back(i+2);
}
else {
blue.emplace_back(1, i+2);
b.push_back(i+2);
}
}
int i = 0, j = 0;
if(r.size()==0) {
pans(blue);
return 0;
}
if(b.size()==0) {
pans(red);
return 0;
}
while(i < r.size()&& j < r.size()) {
cout << "? " << r[i] << " " << b[j] << endl;
char c; cin >> c;
if(c=='R') {
red.emplace_back(r[i], b[j]);
j++;
}
else {
blue.emplace_back(r[i], b[j]);
i++;
}
}
if(red.size()==n-1) {
pans(red);
return 0;
}
if(blue.size()==n-1) {
pans(blue);
return 0;
}
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 0ms
memory: 3712kb
input:
3 B R B
output:
? 1 2 ? 1 3 ? 3 2 ! 1 2 3 2
result:
ok AC
Test #2:
score: -100
Wrong Answer
time: 5ms
memory: 3584kb
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:
wrong answer invalid question