http://ace.delos.com/usacoprob2?a=khUaw8W1UZV&S=numtri
已经忘记第几次做这水题了。。。。。
发现USACO的first time好像挺容易拿的。。。又一次了。。。
不过,正常来说,我的程序也就是标准写法啊。。。为什么这样都可以first time呢???
#include <iostream> #include <cstdio> using namespace std; int a[1005][1005]={0}; int main() { freopen("numtri.in","r",stdin); freopen("numtri.out","w",stdout); int n; cin>>n; for (int i=1;i<=n;i++) for (int j=1;j<=i;j++) scanf("%d",&a[i][j]); for (int i=2;i<=n;i++) for (int j=1;j<=i;j++) a[i][j]+=max(a[i-1][j-1],a[i-1][j]); int maxx=0; for (int i=1;i<=n;i++) if (a[n][i]>maxx) maxx=a[n][i]; cout<<maxx<<endl; return 0; }