题目描述 Description
数字三角形
要求走到最后mod 100最大
输入描述 Input Description
第1行n,表示n行
第2到n+1行为每个的权值
输出描述 Output Description
mod 100最大值
#include<iostream> #include<cstdio> #include<cmath> using namespace std; int x[1005][1005],m,a,b,c,d,e,f[1005][1005][105],k; int main() { cin>>m; for(a=1;a<=m;a++) { for(b=1;b<=a;b++) { cin>>x[a][b]; } } for(a=1;a<=m;a++) { for(b=1;b<=a;b++) { if(a==1) { f[1][1][x[1][1]]=1; } else { for(c=1;c<=100;c++) { if(f[a-1][b-1][c]==1||f[a-1][b][c]==1) { f[a][b][(x[a][b]+c)%100]=1; } } } } } for(a=1;a<=m;a++) { for(b=99;b>=1;b--) { if(f[m][a][b]==1) { if(b>k) { k=b; if(k==99) { cout<<k; return 0; } } break; } } } cout<<k; }