結果

問題 No.437 cwwゲーム
ユーザー ytft
提出日時 2021-03-24 13:37:35
言語 C++14
(gcc 13.3.0 + boost 1.87.0)
結果
AC  
実行時間 10 ms / 2,000 ms
コード長 773 bytes
コンパイル時間 1,528 ms
コンパイル使用メモリ 174,972 KB
実行使用メモリ 5,248 KB
最終ジャッジ日時 2024-11-26 22:49:04
合計ジャッジ時間 2,640 ms
ジャッジサーバーID
(参考情報)
judge1 / judge5
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 41
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <bits/stdc++.h>
using namespace std;

int solve(vector<int> N,vector<bool> isUsed){
    int ans=0;
    vector<bool> give;
    for(int i=0;i<N.size();i++){
        for(int j=i+1;j<N.size();j++){
            for(int k=j+1;k<N.size();k++){
                if(isUsed[i]||isUsed[j]||isUsed[k]||N[i]==N[j]||N[j]!=N[k]||N[i]==0)continue;
                give=isUsed;
                give[i]=true;
                give[j]=true;
                give[k]=true;
                ans=max(ans,solve(N,give)+N[i]*100+N[j]*11);
            }
        }
    }
    return ans;
}

int main(){
    string S;
    cin>>S;
    vector<int> N(S.size());
    for(int i=0;i<S.size();i++){
        N[i]=S[i]-'0';
    }
    vector<bool> isUsed(N.size(),false);
    cout<<solve(N,isUsed)<<endl;
}
0