我写是写了,代码我看着也没错,但是唉错了,能不能来个dl帮忙求解一下,这是我的代码
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
int n,a[205],g[205][205],pre[205],t,f[205],ans;
int main() {
scanf("%d",&n);
for (int i=1;i<=n;i++) scanf("%d",a+i);
for (int i=1;i<n;i++) {
for (int j=i+1;j<=n;j++) {
int x;
scanf("%d",&x);
if (x==1) g[i][j]=1;
}
}
for (int i=1;i<=n;i++) {
for (int j=1;j<=n;j++) {
if (g[j][i]&&f[j]>f[i]) {
f[i]=f[j];
pre[i]=j;
}
}
f[i]+=a[i];
if (f[i]>ans) {
ans=f[i];
t=i;
}
}
printf("\n%d",ans);
return 0;
}
。就非常鬼畜