QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#260345#7804. Intersegment ActivationDoorKickers#WA 1ms3856kbC++203.0kb2023-11-22 02:50:302023-11-22 02:50:31

Judging History

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

  • [2023-11-22 02:50:31]
  • 评测
  • 测评结果:WA
  • 用时:1ms
  • 内存:3856kb
  • [2023-11-22 02:50:30]
  • 提交

answer

#include <bits/stdc++.h>
#include <algorithm>
#include <cctype>
#include <climits>
#include <functional>
#include <iomanip>
#include <queue>
#include <set>
#include <valarray>
#define ll long long
#define ull unsigned long long
#define mp make_pair
#define fi first
#define se second
#define pii pair<int, int>
#define pll pair<ll, ll>
#define pb push_back
#define rep(a, b, c) for (int a = b; a <= c; a++)
#define per(a, b, c) for (int a = c; a >= b; a--)
#define all(a) a.begin() + 1, a.end()
#define all_(a) a.begin(), a.end()
#define vi vector<int>
#define vl vector<ll>
#define vpii vector<pii>
#define vpll vector<pll>
int mod = 998244353;
ll gcd(ll a, ll b) {return b == 0 ? a : gcd(b, a % b);}
ll lcm(ll a, ll b) {return a / gcd(a, b) * b;}
ll fp_m (ll a, ll n) {
    a %= mod;
    ll res = 1; while (n) { if (n & 1) res = res * a % mod; a = a * a % mod; n >>= 1; } return res;
}
ll fp (ll a, ll n) {
    ll res = 1; while (n) { if (n & 1) res *= a; a *= a; n >>= 1; } return res;
}
ll inv(ll x) {return fp_m(x, mod - 2);}
template<typename T>
std::ostream& operator<<(std::ostream& os, const std::vector<T>& vec) {
    os << "[";
    for (size_t i = 0; i < vec.size(); ++i) {
        os << vec[i];
        if (i < vec.size() - 1)
            os << ", ";
    }
    os << "]";
    return os;
}
template<typename T, typename... Args>
void debug(std::string name, T value, Args &&...arg) {
    std::cout << name;
    (..., (std::cout << '[' << arg << ']'));
    std::cout << " = " << value << '\n';
}
//中文测试 中文测试
signed main()   {
    std::ios::sync_with_stdio(0);
    std::cin.tie(0); std::cout.tie(0);
    int n; std::cin >> n;
    std::map<std::pair<int, int>, int> mx;
    std::map<std::pair<int, int>, int> now;
    int max = 0;
    std::cin >> max;
    for (int i = 1; i <= n; i++) {
        for (int j = 0; j <= (1 << (n - i + 1)) - 1; j++) {
            for (int k = i; k <= n; k++) {
                int x = (j >> (k - i)) & 1;
                if (now[{i, k}] != x) {
                    std::cout << i << ' ' << k << '\n';
                    std::cout.flush();
                    now[{i, k}] = 1 - now[{i, k}];
                    int K; std::cin >> K;
                    if (K == n) {
                        return 0;
                    } else {
                        if (K > max) {
                            K = max;
                            mx = now;
                        }
                    }
                }
            }
        }
        for (int k = i; k <= n; k++) {
            if (now[{i, k}] != mx[{i, k}]) {
                std::cout << i << ' ' << k << '\n';
                std::cout.flush();
                now[{i, k}] = 1 - now[{i, k}];
                int K; std::cin >> K;
                if (K == n) return 0;
            }
        }
    }
    return 0;
}

//出题是2^n = 11111 + 1

/*
1 2 3 4 5 6
[1, 1]
[2, 2]
[3, 3]
[4, 2]
[5, 1]
[6, 1]

*/

详细

Test #1:

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

input:

3
0
0
0
1
0
1
0
0
0
0
0
0
0
1
1
1
3

output:

1 1
1 1
1 2
1 1
1 1
1 2
1 3
1 1
1 1
1 2
1 1
1 1
1 3
2 2
2 2
2 3

result:

ok OK, 16 queries

Test #2:

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

input:

1
0
1

output:

1 1

result:

ok OK, 1 queries

Test #3:

score: 0
Accepted
time: 0ms
memory: 3620kb

input:

2
1
2

output:

1 1

result:

ok OK, 1 queries

Test #4:

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

input:

2
0
0
0
0
1
2

output:

1 1
1 1
1 2
1 1
2 2

result:

ok OK, 5 queries

Test #5:

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

input:

2
0
1
0
0
0
1
2

output:

1 1
1 1
1 2
1 1
1 2
2 2

result:

ok OK, 6 queries

Test #6:

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

input:

2
0
0
0
2

output:

1 1
1 1
1 2

result:

ok OK, 3 queries

Test #7:

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

input:

3
0
0
0
0
0
0
0
1
1
1
2
3

output:

1 1
1 1
1 2
1 1
1 1
1 2
1 3
1 1
1 1
1 2
1 1

result:

ok OK, 11 queries

Test #8:

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

input:

3
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
2
3

output:

1 1
1 1
1 2
1 1
1 1
1 2
1 3
1 1
1 1
1 2
1 1
2 2
2 2
2 3
2 2
3 3

result:

ok OK, 16 queries

Test #9:

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

input:

3
0
1
0
0
0
0
0
0
0
0
0
0
0
1
2
1
1
1
1

output:

1 1
1 1
1 2
1 1
1 1
1 2
1 3
1 1
1 1
1 2
1 1
1 2
1 3
2 2
2 2
2 3
2 2
3 3

result:

wrong answer format  Unexpected end of file - int32 expected