sb求助机构简单题
  • 板块题目总版
  • 楼主houpingze
  • 当前回复3
  • 已保存回复3
  • 发布时间2021/4/7 21:30
  • 上次更新2023/11/5 00:54:08
查看原帖
sb求助机构简单题
253765
houpingze楼主2021/4/7 21:30

如题,调了1h了/px

题肯定是不难的,但这个WA70就很玄学

yun

code:

#include<bits/stdc++.h>
#define reg register int
#define INF (1<<30)
#define int long long
#pragma GCC optimize("Ofast")
using namespace std;
int read(){
	int res=0,fs=1; char c=getchar();
	while(!(c>='0' && c<='9')){ if(c=='-')fs=-1; c=getchar(); }
	while(c>='0' && c<='9')res=res*10+c-'0',c=getchar();
	return res*fs;
}
void print(int x){
    if(x<0) { putchar('-'); x=-x;}
    if(x>9) print(x/10);
    putchar(x%10+'0');
}
int n,cnt,m,f[5010][1010],ans,tmp,k,a[1010];
void dfs(int x,int sum){
	ans=max(ans,sum);
	for(int i=x+1;i<=n;i++){
		if(f[x][i]==1){
			dfs(i,sum+a[i]);
		}
	}
}
signed main() { 
	cin>>n; 
	for(int i=1;i<=n;i++) cin>>a[i];
	for(int i=1;i<=n-1;i++){
		for(int j=i+1;j<=n;j++){
			cin>>f[i][j];
		}
	}
	dfs(0,0);
	for(int i=1;i<=n;i++){
		dfs(i,a[i]);
	}
	cout<<ans;
    return 0;
}
2021/4/7 21:30
加载中...