제출 #892239

#제출 시각아이디문제언어결과실행 시간메모리
892239vjudge1Super Dango Maker (JOI22_dango3)C++17
2 / 100
74 ms1116 KiB
#include <bits/stdc++.h>

#include "dango3.h"

using namespace std;

#define all(x) x.begin(), x.end()
#define ar array
#define pb push_back
#define ln '\n'
//#define int long long

using i64 = long long;

template <class F, class _S>
bool chmin(F &u, const _S &v){
    bool flag = false;
    if ( u > v ){
        u = v; flag |= true;
    }
    return flag;
}

template <class F, class _S>
bool chmax(F &u, const _S &v){
    bool flag = false;
    if ( u < v ){
        u = v; flag |= true;
    }
    return flag;
}

void Solve(int n, int m){
    if ( true || n == 4 ){ // subtask #1
        vector <int> us(n * m + 1), tmp;
        auto dfs = [&](auto dfs, int pos) -> void{
            if ( pos == n * m + 1 || tmp.size() == n ){
                int q = 0;
                bool flag = false;
                for ( auto &x: tmp ){
                    flag |= us[x];
                }
                if ( tmp.size() == n && !flag ){
                    q = Query(tmp);
                }
                if ( q > 0 ){
                    Answer(tmp);
                    for ( auto &j: tmp ){
                        us[j] = true;
                    }
                } return;
            }
            if ( !us[pos] ){
                tmp.pb(pos);
                dfs(dfs, pos + 1);
                tmp.pop_back();
            }
            dfs(dfs, pos + 1);
        };
        dfs(dfs, 1);
        return;
    }
}

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

dango3.cpp: In instantiation of 'Solve(int, int)::<lambda(auto:23, int)> [with auto:23 = Solve(int, int)::<lambda(auto:23, int)>]':
dango3.cpp:60:19:   required from here
dango3.cpp:37:49: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   37 |             if ( pos == n * m + 1 || tmp.size() == n ){
      |                                      ~~~~~~~~~~~^~~~
dango3.cpp:43:33: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   43 |                 if ( tmp.size() == n && !flag ){
      |                      ~~~~~~~~~~~^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...