rt 题解里的dfs是这样写的 link
for(int i=1;i<=n;i++)
{
if(vis[i]==0)
{
vis[i]=1;
dfs(yi+a[i],er,sum-(yi+a[i]+er));
dfs(yi,er+a[i],sum-(yi+er+a[i]));
vis[i]=0;
dfs(yi,er,sum-(yi+er));
}
}
按他的意思,实际上就是枚举这条边加在哪里
于是蒟蒻便写下了这样的代码 link
我的dfs是这样写的
for(int i = 1 ; i <= n ; i++){
if(!vis[i]){
vis[i] = 1 ;
dfs(x + a[i] , y , c) ;
dfs(x , y + a[i] , c) ;
dfs(x , y , c + a[i]) ;
vis[i] = 0 ;
}
}
然而这样只有27分,所以请问有什么不一样吗
orz 望大佬求助