結果
問題 | No.437 cwwゲーム |
ユーザー |
|
提出日時 | 2016-10-28 22:58:10 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 4 ms / 2,000 ms |
コード長 | 808 bytes |
コンパイル時間 | 536 ms |
コンパイル使用メモリ | 72,040 KB |
実行使用メモリ | 6,820 KB |
最終ジャッジ日時 | 2024-10-12 08:24:14 |
合計ジャッジ時間 | 1,631 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 41 |
ソースコード
#include<iostream> #include<cstdio> #include<cstdlib> #include<algorithm> #include<vector> #include<string> #include<sstream> #define ll long long int using namespace std; int solve(int a[],int n) { if(n<3)return 0; int ans=0; for(int i=0;i<n;i++) { if(a[i]!=-1) for(int j=i+1;j<n;j++) { if(a[j]!=-1) for(int k=j+1;k<n;k++) { if(a[k]!=-1) if(a[i]!=0&&a[j]==a[k]&&a[i]!=a[j]) { int nowans=a[i]*100+a[j]*10+a[k]; int w=a[i],e=a[j],r=a[k]; a[i]=a[j]=a[k]=-1; nowans+=solve(a,n); ans=max(ans,nowans); a[k]=r;a[j]=e;a[i]=w; } } } } return ans; } int main() { ll a; cin>>a; int s[13]; int co=0; while(a!=0) { s[co]=a%10; a/=10; co++; } int ss[13]; for(int i=0;i<co;i++)ss[co-1-i]=s[i]; cout<<solve(ss,co)<<endl; return 0; }