Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
51850 AK2022071328 最优子图 C++ 运行超时 30 2000 MS 3232 KB 886 2022-07-14 08:17:55

Tests(6/20):


#include <iostream> #include <cstdio> using namespace std; const int maxn=10000; int w[maxn][maxn]; int n,k; int ans=0; bool color[maxn];//1=red 0=blue void check() { int red=0; int blue=0; int a=0;//ans for(int i=0; i<n; i++) { if(color[i]) { red++; } else { blue++; } } if(red==0 || blue==0) return; for(int i=0; i<n; i++) { for(int j=i; j<n; j++) { if(color[i]==color[j])a+=w[i][j]; else a+=(k-w[i][j]); } } ans=max(ans,a); } void dfs(int num) { if(num==n) { check(); return; } else { color[num+1]=1; dfs(num+1); color[num+1]=0; dfs(num+1); } } int main() { cin>>n>>k; for(int i=0; i<n; i++) { for(int j=0; j<n; j++) { cin>>w[i][j]; } } dfs(-1); cout<<ans; return 0; }


测评信息: