5WA求助
查看原帖
5WA求助
399508
kanchui666楼主2020/11/4 22:17
#include<bits/stdc++.h>
using namespace std;
int main(){
	int n,w[25],f[25]={0},c[25]={0},www;
	bool a[25][25];
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>w[i];
	}
	for(int i=1;i<n;i++){
		for(int j=i;j<n;j++){
			cin>>www;
			if(www==1){
				a[i][j]=true;
			}else{
				a[i][j]=false;
			}
		}
	}
	f[n]=w[n];
	int p1,p2;
	for(int i=n-1;i>=1;i--){
		p1=0;p2=0;
		for(int j=i+1;j<=n;j++){
			if(a[i][j]&&f[j]>p1){
				p1=f[j];p2=j;
			}
			f[i]=w[i]+p1;
			c[i]=p2;
		}
	}
	int k=1;
	for(int i=2;i<=n;i++){
		if(f[i]>f[k]){
			k=i;
		}
	}
	int max=f[k];
	cout<<k;
	k=c[k];
	while(k!=0){
		cout<<" "<<k;
		k=c[k];
	}
	cout<<endl<<max;
	return 0;
}
2020/11/4 22:17
加载中...