2017.07.31小结

来源:互联网 发布:acronis linux备份 编辑:程序博客网 时间:2024/06/05 14:17

       今天主要还是在找状态,在家休息了一段时间后,比较懒散,一时不容易适应集训的节奏。上午主要是看了一遍之前做过的搜索典型例题,几种常见题型来找做题的感觉。下午和晚上只解出了一道第四题。其中大部分的时间,都花费在思考思路上,中间尝试了好几种方法,一直在换来换去,几种方法都感觉模棱两可,而且经常做到一半思路就会断掉。感觉本题的难点在于要求每个点要在不同行不同列,规定了棋子的位置,增加了判断条件,所以一直在想办法解决这个问题,最终解决思路:走过一列之后,就把它标记出来(用一维数组表示即可),然后再从下一行开始寻找,直到摆放的棋子数目与要求棋子数目相同,总数加1

代码:

int dfs(inti,int cur)

{

    if(cur>=k)

    {

        sum++;

        return 0;

    }

    int x,y;

    for(x=i;x<n;x++)

    for(y=0;y<n;y++)

    {

    if(!visit[y]&&map[x][y]=='#')

    {

        visit[y]=1;

        dfs(x+1,cur+1);

        visit[y]=0;

    }

    }

    return 0;

}

        今天只AC了一道题,但是自己真的去动脑思考了,不像之前的学习,遇上不容易思考的题目,就去找题解。而且在学校做题比之前在家里更加集中,能真正静下心来去做。