제출 #1332904

#제출 시각아이디문제언어결과실행 시간메모리
1332904AhmadAlhussainBOI Acronym (BOI25_boi)C++20
32 / 100
1095 ms14324 KiB
#include<bits/stdc++.h>
using namespace std;
const int N=2005,MXN=1e6+5;
int n;
int m[N][N];
bool check(vector<char> &s) {
    int cnt[3]={};
    for(int j=s.size()-1;j>=0;j--) {
        cnt[s[j]-'B']++;
        if(*max_element(cnt,cnt+3)!=m[j][s.size()-1]) {
            return false;
        }
    }
    if(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 rec(vector<char> &s) {
    for(char i='B';i<='D';i++) {
        s.push_back(i);
        if(check(s)) {
           rec(s);
        }
        s.pop_back();
    }

}
signed main() {
    cin>>n;
    for(int i=0;i<n;i++) {
        for(int j=i;j<n;j++) {
            cin>>m[i][j];
        }
    }
    vector<char> s;
    rec(s);
}
#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...