木瓜地
3 4
3 3 4 5
4 5 3
2
1 7 4 2
样例输出 SampleOutput [复制数据]
39
#include <stdbool.h> #include <stdio.h> int main(void) { int i,j,r,c,a[41][41],xi=1,yi=1,maxx=1,maxy=1,max; bool b[41][41]={false}; long sum=0; scanf("%d%d\n",&r,&c); for (i=1;i<=r;i++) { for (j=1;j<=c;j++) { scanf("%d",&a[i][j]); b[i][j]=true; } } sum=sum+a[1][1]; b[1][1]=false; while (true) { max=-1; if ((b[xi][yi+1]==true)&&(a[xi][yi+1]>max)) { maxx=xi;maxy=yi+1; max=a[xi][yi+1]; } if ((b[xi][yi-1]==true)&&(a[xi][yi-1]>max)) { maxx=xi;maxy=yi-1; max=a[xi][yi-1]; } if ((b[xi+1][yi]==true)&&(a[xi+1][yi]>max)) { maxx=xi+1;maxy=yi; max=a[xi+1][yi]; } if ((b[xi-1][yi]==true)&&(a[xi-1][yi]>max)) { maxx=xi-1;maxy=yi; max=a[xi-1][yi]; } b[maxx][maxy]=false; sum=sum+a[maxx][maxy]; xi=maxx;yi=maxy; if ((maxx==r)&&(maxy==c)) break; } printf("%d\n",sum); return 0; }
[TYVJ] P1027 木瓜地,布布扣,bubuko.com
原文:http://www.cnblogs.com/sxiszero/p/3591852.html