dfs80分悬赏关注
查看原帖
dfs80分悬赏关注
246331
mystic_qwq楼主2023/5/10 12:24
a[10][10],N,y,x,n,t,ans0,ans;
_Bool v[10][10],r[10][10];
dfs(y,x){
  if(y>N||x>N)
    return;
  t+=a[y][x],v[y][x]=1;
  if(y==N&&x==N){
    if(t>ans){
      ans=t;
      for(int i=1;i<=N;i++)
        for(int j=1;j<=N;j++)
          r[i][j]=v[i][j];
    }
    t-=a[y][x],v[y][x]=0;
    return;
  }
  dfs(y+1,x);
  dfs(y,x+1);
  t-=a[y][x],v[y][x]=0;
}
main(){
  scanf("%d",&N);
  while(~scanf("%d%d%d",&y,&x,&n)&&y)//start with(1,1)
    a[y][x]=n;
  dfs(1,1);
  for(int i=1;i<=N;i++)
    for(int j=1;j<=N;j++)
      r[i][j]&&(a[i][j]=0);
  ans0=ans,ans=0;
  dfs(1,1);
  printf("%d",ans0+ans);
}
2023/5/10 12:24
加载中...