| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
dfs暴力求解,参考别人的#include<iostream>
#include<cstring>
using namespace std;
int subset[25];
int n, G[25][25];
int ans;
void dfs(int id, int sum)
{
subset[id] = 1;
for(int i = 0; i < n; i++)
if(subset[i])
sum -= G[id][i];
else
sum += G[id][i];
if(sum > ans)
ans = sum;
for(int i = id+1; i < n; i++)
{
dfs(i, sum);
subset[i] = 0;
}
}
int main()
{
cin >> n;
for(int i = 0; i < n; i++)
for(int j = 0; j < n; j++)
cin >> G[i][j];
memset(subset, 0, sizeof(subset));
ans = 0;
dfs(0, 0);
cout << ans;
return 0;
}
Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator