| | | | 描述 Description | | | 数字三角形 要求走到最后mod 100最大 | | | |
| | | | 输入格式 Input Format | | | 第1行n,表示n行 <=25 第2到n+1行为每个的权值 | | | |
| | | | 输出格式 Output Format | | | mod 100最大值 | | | |
| | | | 时间限制 Time Limitation | | | 各个测试点1s
| | |
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int a[30][30],n;
int cnt;
void dfs(int i,int j,int sum)
{
if(i==n+1)
{
if(sum>cnt) cnt=sum;
return ;
}
int x=(sum+a[i+1][j])%100;
dfs(i+1,j,x);
x=(sum+a[i+1][j+1])%100;
dfs(i+1,j+1,x);
}
int main()
{
while(scanf("%d",&n)==1)
{
memset(a,0,sizeof(a));
for(int i=1;i<=n;i++) for(int j=1;j<=i;j++) {scanf("%d",&a[i][j]);a[i][j]%=100;}
cnt=-1;
dfs(1,1,a[1][1]);
printf("%d/n",cnt);
}
return 0;
}