結果

問題 No.519 アイドルユニット
ユーザー vjudge1
提出日時 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
権限があれば一括ダウンロードができます

ソースコード

diff #

#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
*/
0