0
已解决
高翊天
初级守护
初级守护
int pd(int a)
{
for(int i=1; i<=n; i++)
{
if(b[i]&&cd[a][i])
return 0;
}
return 1;
}
void dfs(int t)
{
for(int i=1; i<=n; i++)
{
if(!b[i])
{
if(pd(i))
{
b[i]=1;
sum++;
}
if(t==n)
{
if(sum>maxx)
maxx=sum;
for(int i=1; i<=n; i++)
g[i]=b[i];
}
else
{
dfs(t+1);
b[i]=0;
sum--;
}
}
}
}
3
已采纳
蒋智航
高级天翼
高级天翼
用多个数组储存仇敌关系、选择方案,并且用搜索,如果现在的人数大于最大的人数就更新最大人数,然后循环,如果该人不在卫队里就把它放进去,继续搜索,最后输出总数,并且输出0或1 。
4
0
0
邵逸儒
中级天翼
中级天翼
0