제출 #1363280

#제출 시각아이디문제언어결과실행 시간메모리
1363280marBOI Acronym (BOI25_boi)C++20
32 / 100
1095 ms14316 KiB
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;

const int nmax=2005;

int n;
int m[nmax][nmax];
vector<char> s;

bool check(){

    int cnt[3]={};

    for(int j=(int)s.size()-1;j>=0;j--){
        cnt[s[j]-'B']++;
        int mx=max({cnt[0],cnt[1],cnt[2]});
        if(mx!=m[j][(int)s.size()-1]){
            return false;
        }
    }

    if((int)s.size()==n){
        if(!(cnt[0]>cnt[1]&&cnt[0]>cnt[2])){
            return false;
        }
        for(int i=0;i<n;i++){
            if(s[i]=='B'){
                cout<<i+1<<" ";
            }
        }
        exit(0);
    }

    return true;
}

void dfs(){

    for(char c='B';c<='D';c++){
        s.push_back(c);
        if(check()){
            dfs();
        }
        s.pop_back();
    }
}

int main(){
    ios::sync_with_stdio(false);
    cin.tie(NULL);

    cin>>n;

    for(int i=0;i<n;i++){
        for(int j=i;j<n;j++){
            cin>>m[i][j];
        }
    }

    dfs();

    return 0;
}
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…