답안 #869632

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
869632 2023-11-05T06:05:17 Z irmuun Ancient Machine 2 (JOI23_ancient2) C++17
0 / 100
68 ms 692 KB
#include<bits/stdc++.h>
#include "ancient2.h"

using namespace std;
 
#define ll long long
#define pb push_back
#define ff first
#define ss second
#define all(s) s.begin(),s.end()
#define rall(s) s.rbegin(),s.rend()

string Solve(int n){
    vector<int>a={1,1,2},b={2,1,2};
    vector<int>A,B;
    for(int i=0;i<950;i++){
        if(i<511/2){
            A.pb(i*2+1);
            B.pb(i*2+2);
        }
        else if(i<511){
            A.pb(i);
            B.pb(i);
        }
        else{
            A.pb(i+1);
            B.pb(i+1);
        }
    }
    A.pb(950);
    B.pb(950);
    int cur=0;
    string ans="";
    for(int i=0;i<50;i++){
        int q=Query(951,A,B);
        q++;
        q%=256;
        for(int j=7;j>=0;j--){
            if(q&(1<<j)){
                ans+='1';
            }
            else{
                ans+='0';
            }
        }
        for(int j=511+i*8;j<511+i*8+8;j++){
            swap(A[cur],A[j]);
            swap(B[cur],B[j]);
            cur=j;
        }
    }
    int m=3;
    for(int i=0;i<n;i++){
        if(i>=400){
            int q=Query(m,a,b);
            if(q==i+1){
                ans+='0';
            }
            else{
                ans+='1';
            }
        }
        a.insert(a.begin(),0);
        b.insert(b.begin(),0);
        for(auto &x:a){
            x++;
        }
        for(auto &x:b){
            x++;
        }
        m++;
    }
    return ans;
}
# 결과 실행 시간 메모리 Grader output
1 Incorrect 68 ms 692 KB Wrong Answer [3]
2 Halted 0 ms 0 KB -