解题思路:
注意事项:
参考代码:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int m = scanner.nextInt();
int n = scanner.nextInt();
int g[][] = new int[n][m];
int dx[] = {0,0,-1,1};
int dy[] = {1,-1,0,0};
int ans = 0, res= 0, sum = 0;
for(int i = 0 ; i < n ; i ++){
for(int j = 0; j < m; j ++){
g[i][j] =scanner.nextInt();
sum += g[i][j];
}
}
sum /= 2;
int v[][] = new int[n][m];
int x = 0, y = 0;
while(true){
v[x][y] = 1;
res += g[x][y];
ans ++;
if(res == sum){
System.out.println(ans);
return;
}
int maxNum = 0, mx = x, my = y;
for(int i = 0 ; i < 4; i ++){
int tx = x + dx[i];
int ty = y + dy[i];
if(tx >= 0 && tx < n && ty >= 0 && ty < m && v[tx][ty] == 0 && res + g[tx][ty] > maxNum && res + g[tx][ty] <= sum){
maxNum = res + g[tx][ty];
mx = tx;
my = ty;
}
}
x = mx;
y = my;
}
}
}
0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复