90分代码求助!!!
查看原帖
90分代码求助!!!
857821
lzt415楼主2024/10/23 23:38

WA#8

200 1
51929 
23997 
58087 
79843 
-37820 
46246 
43393 
7911 
84801 
49817 
32410 
-70848 
16690 
-54308 
52261 
5206 
48565 
22469 
31141 
-61868 
-48992 
2982 
-45096 
73435 
-83328 
70074 
84502 
60267 
-80104 
38034 
-44492 
44182 
-77388 
38467 
-30640 
-64404 
-9084 
88629 
-31420 
28246 
8778 
-63500 
40627 
12398 
-6508 
22102 
33173 
86291 
27983 
80299 
-59184 
-836 
57898 
41954 
75934 
9279 
12663 
87135 
70147 
47123 
49550 
25690 
19854 
62927 
84810 
72310 
20019 
-44284 
68178 
27182 
71257 
-44748 
-3144 
4354 
-3232 
930 
40053 
-26672 
-41288 
87390 
40434 
-57828 
77037 
25994 
39550 
71322 
-57940 
58143 
16893 
44203 
82159 
33481 
-9376 
81347 
-79652 
86517 
66705 
7385 
73469 
79925 
-50876 
-59144 
83742 
78067 
5279 
7302 
61802 
74143 
85106 
36990 
-65604 
22098 
-86728 
29058 
20807 
47190 
-84540 
78045 
66883 
-23120 
-6228 
-35736 
-24816 
-88488 
-31744 
88218 
50511 
-55520 
82407 
36125 
59842 
37278 
-25040 
-84228 
6863 
42981 
-19872 
43289 
-60352 
-4860 
19746 
71046 
65047 
-72308 
87151 
-19012 
26207 
49387 
22754 
38379 
61369 
52289 
87647 
-20736 
36899 
31225 
28627 
60711 
38621 
39553 
13606 
53995 
24822 
49223 
-16944 
29998 
-37140 
2037 
72471 
76822 
16189 
-88480 
73469 
2102 
-15632 
16493 
28627 
22681 
37614 
30174 
-52788 
40007 
-87452 
71322 
64309 
82434 
42839 
-74284 
-85536 
-5052 
53321 
24730 
50466 
30139 
45407 
71941 
30065 
52746 
22726 
51597 

#include<bits/stdc++.h>
using namespace std;
int a[205][205];
int f[205][205];
bool vis[205][205];
int n,m;
int dfs(int x,int y)
{
	  if(x==1) return a[1][y]; 
    if (vis[x][y]) return f[x][y];
    for(int i=-1;i<=1;i++)
    {
        if((y+i>0)&&(y+i<=n)&&(x-1>0))
			f[x][y]=max(f[x][y],dfs(x-1,y+i)+a[x][y]);
    }
    vis[x][y]=true;
    return f[x][y];
}
int main()
{
    cin>>n>>m;
    memset(a,-0x3f,sizeof(a));
    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=m;j++)
        {
            cin>>a[i][j];
        }
    }
    memset(f,-0x3f,sizeof(f));
    for(int i=1;i<=m;i++) f[1][i]=a[1][i],vis[1][i]=true;
    dfs(n+1,m/2+1);
    cout<<max(f[n][m/2],max(f[n][m/2+1],f[n][m/2+2]));
    return 0;
}
2024/10/23 23:38
加载中...