2022年1月12日学习总结

5:00~5:35

听英语听力。

8:30~9:00

记英语单词。

9:30~11:00

用BFS写了填涂颜色和马的遍历两个题,不论如何也对不了,感觉是我的原因,是因为我不会BFS,我觉得必须要学会了才能够开始写代码所以一念之下直接决定从新学习一下BFS。

11:10~11:50

b站学习BFS

BFS广搜解决迷宫问题_哔哩哔哩_bilibili

12:00~14:30

妹妹来家里面问我数学作业,一问就是两个多小时,算是复习了一下等差数列等比数列把。

14:40~17:00

靠着自己的理解从新迷宫的路径输出(我的debug能力实在有待加强)

解题思路:从左到右全部搜索一次,将能走到终点的路径记为1,若是不能走到终点,就不输出。

#include
struct node
{
    int x;
    int y;
    int pre;
};
int m[10][10];
bool vis[5][5];
int dx[4]= {1,-1,0,0};
int dy[4]= {0,0,1,-1};
node a[100];
void print(int n)
{

       if(a[n].pre != -1){
        print(a[n].pre);
        printf("(%d, %d)\n",a[n].x,a[n].y);
    }
}
int main()
{
    int i,j;
    for(i=0; i<5; i++)
        for(j=0; j<5; j++)
            scanf("%d",m[i]+j);
    printf("(0, 0)\n");
    int l=0,r=0;
    a[r].x=0;
    a[r].y=0;
    a[r++].pre=-1;
    while(l     {
        for(i=0; i<4; i++)
        {
            int x=a[l].x+dx[i];
            int y=a[l].y+dy[i];
            if(x>=5||y>=5||x<0||y<0||m[x][y]==1)
                continue;
            m[x][y]=1;
            a[r].x=x;
            a[r].y=y;
            a[r].pre=l;
            r++;
            if(x==4&&y==4)
                print(l);

        }
        l++;
    }
    printf("(4, 4)");
    return 0;
}
 

休息了一会。

17:30~19:00

继续想办法AC白天没有AC的题目,无果,感觉自己很疲惫,完全想不到关键的语句和算法,可能是昨天在乡下事情比较多,有点累,打算今天早点睡觉,明天早上起来保持好状态,多AC题目。

你可能感兴趣的:(深度优先,leetcode,算法)