제출 #482038

#제출 시각아이디문제언어결과실행 시간메모리
482038RedhoodFootball (info1cup20_football)C++14
0 / 100
2074 ms1048580 KiB
#include<bits/stdc++.h>
#define pb push_back
#define all(x) (x).begin(), (x).end()
#define sz(x) (int)(x).size()
#include<ext/pb_ds/assoc_container.hpp>
#include<ext/pb_ds/tree_policy.hpp>
#define fi first
#define se second

using namespace __gnu_pbds;
using namespace std;
using namespace __gnu_cxx;
using namespace std;

typedef long long ll;

vector < map < vector < int > , int > > state;

int rek(vector < int > S , int k){
    if(state[k].find(S)!=state[k].end()){
        return state[k][S];
    }
    ll s=0;
    for(auto &i : S)s+=i;
    if(s==0){
        state[k][S] = 1;
        return 1;
    }

    bool win = 0;
    for(int i = 0; i < sz(S); ++i){
        for(int x = 1; x <= min(k , S[i]); ++x){
            S[i] -= x;
            if(!rek(S,x)){
                win = 1;
                break;
            }
            S[i] += x;
        }
    }
    state[k][S] = win;
    return win;
}
int stupid(vector < int > S, int k){
    if(k == 1){
        int xr = 0;
        for(auto &i : S)
            xr ^= i;
        if(xr == 0)
            return 1;
        return 0;
    }


    state.clear();
    state.resize(k + 1);
    return rek(S , k);
}


signed slv(vector < int > S , int k)
{

    using ll = long long ;
    bool good = 0;
    if(sz(S) == 1){
        int N = S[0];
        ll cur = 1;

        bool good = 0;
        while(cur <= k){
            if(N % 2 == 0){
                good = 1;
                break;
            }

            N = (N >> 1) + 1;

            cur <<= 1;
        }
        return good;
    }
    assert(false);
}
signed main(){
    ios_base::sync_with_stdio(0), cin.tie(0), cout.tie(0);
    int t;
    cin >> t;
    while(t--){
        int n , k;
        cin >> n >> k;
        vector < int > S(n);
        for(auto &i : S)
            cin >> i;
        cout << stupid(S , k);
    }

    return 0;
}

컴파일 시 표준 에러 (stderr) 메시지

football.cpp: In function 'int slv(std::vector<int>, int)':
football.cpp:65:10: warning: unused variable 'good' [-Wunused-variable]
   65 |     bool good = 0;
      |          ^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...