P2196 [NOIP1996 提高组] 挖地雷怎么写

我写是写了,代码我看着也没错,但是唉错了,能不能来个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;
}

。就非常鬼畜

可以参考下这篇文章,希望对你有帮助:

作者可以添加一个输出函数,比较方便,输出p的时候也很有效,感觉这个是非加不可