思路分析
方法一: 根据观察,遍历的顺序按横纵坐标之和递增访问,和相等的情况下,按横坐标递增访问。
方法二: 根据观察可得,访问的第一个永远是map[0][0],最后一个是map[row-1][col-1],并且每次都是先向右访问再向下,所以这就是两个方向:先右后下的BFS问题。
代码——方法一
#include <iostream>
#include <cstdio>
#include <vector>
#include <queue>
using namespace std;
const int maxn = 110;
int map[maxn][maxn] = {
0};
int row, col;
int main()
{
// freopen("input.txt", "r", stdin);
scanf("%d %d", &row, &col);
for(int x=0; x<row; x++)
{
for(int y=0; y<col; y++)
{
scanf("%d",