結果
問題 |
No.519 アイドルユニット
|
ユーザー |
![]() |
提出日時 | 2025-03-15 16:37:05 |
言語 | C++17(clang) (17.0.6 + boost 1.87.0) |
結果 |
TLE
|
実行時間 | - |
コード長 | 849 bytes |
コンパイル時間 | 5,515 ms |
コンパイル使用メモリ | 170,196 KB |
実行使用メモリ | 17,968 KB |
最終ジャッジ日時 | 2025-03-15 16:37:18 |
合計ジャッジ時間 | 10,319 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | TLE * 1 -- * 33 |
ソースコード
#include<bits/stdc++.h> #define int long long using namespace std; int n,mp[114][514],vis[114],ans=-2147483647; void dfs(int cnt,int p){ if(cnt==n/2){ ans=max(ans,p); return ; }for(int i=2;i<=n;i++){ if(vis[i]) continue; vis[i]=1; for(int j=i+1;j<=n;j++){ // cout<<1; if(!vis[j]){ vis[j]=1; // cout<<i<<" "<<j<<" "<<mp[i][j]<<"\n"; dfs(cnt+1,p+mp[i][j]); vis[j]=0; } }vis[i]=0; break; } } signed main(){ // freopen("group2.in","r",stdin); // freopen("group.out","w",stdout); cin>>n; memset(vis,0,sizeof(vis));vis[1]=1; for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) cin>>mp[i][j]; for(int i=2;i<=n;i++){ vis[i]=1; // cout<<"\n"<<mp[1][i]<<" "; dfs(1,mp[1][i]); vis[i]=0; }cout<<ans; } /* 6 -1 14 29 35 39 8 14 -1 35 41 34 3 29 35 -1 14 21 21 35 41 14 -1 12 42 39 34 21 12 -1 28 8 3 21 42 28 -1 */