20151201(数位之和)
代码1
1 | //freopen("D://input.txt","r",stdin); |
20151202(消除类游戏)
代码1
这题使用延伸法,计算每个位置的元素向右有多少个连续与其相等的元素,向左有多少个连续与其相等的元素,向上有多少,向下有多少。
1 | //freopen("D://input.txt","r",stdin); |
20151203(画图)
代码1
当遇到画线段的指令,不管画布上是啥,直接画线段;遇到填充指令,处了遇到线段和边界不填充外,其他都填充。
1 | //freopen("D://input.txt","r",stdin); |
90分,错误。注意,输出的时候,每一行没有空格,这个非常重要,0分和90分的区别。
20151204(送货)
代码1
采用DFS的方法,若当前的点时a,按照编号从小到大的顺序访问与它相连的的点,然后删除这条边,进行递归,当从递归函数出来时,看是否找到一个路径,若是,则返回,否则,将删除的边恢复,访问下一个相连的点。因此这题用邻接矩阵法比较合适。
1 | //freopen("D://input.txt","r",stdin); |
70分,超时。这题我犯了两个错误:1. 27行的时候,忘了返回false,2. 没有计算空间复杂度,导致运行错误,0分,int graph[10000][10000]的空间大小是400M,远远超过了256M,所以应该用bool graph[10000][10000]就好了。
代码2
有一个很重要的定理:对于无向图,奇点的个数一定是偶数,如果奇点个数超过2,那么无法一笔画,如果奇点个数为2或者0,只要图是连通的就可以一笔画,不是连通的图自然无法一笔画,而且起始点必须是奇点。
1 | //freopen("D://input.txt","r",stdin); |
70分,超时。