【CCF】考完感想

CCF今天查到成绩了,280。差不多这个水平吧,如果把CCF网上练习的第一次提交作为成绩的话,四次测试大概在100 ~ 290左右。当然也有我提交上去测试一下对不对的缘故。

====================================================================================

第一题 数字分段 相同且相连的数字为一段,输入一行数字,看有几段。

第二题 输入年份和天数,看这一年的第几天是几月几日。

第三题 写入HTML文件,{{ name }} {{ address }} {{ email }}一段HTML文件里面有这样格式的东西,然后输入name,address,email这三个变量,要求替换HTML文件里面的这个东西。

第四题 有向图。两个结点只有一条边,看看两个结点之间能否互相到达。

====================================================================================

感觉第四题是编译出错了,否则也能拿到一点分数。不过感觉没有什么编译不对的地方。网上练习出现的memset编译出错我也并没有使用。long long网上练习也是可以通过的。

====================================================================================

可能被网上练习坑了吧...最后CCF测试是提交后不显示结果只保存代码的,可以重复修改。网上练习是提交一次测试一次。这就真的需要很大的运气成分了。不像ACM,虽然ACM是看排名的。而且ACM也比CCF难得多。

====================================================================================

第三题对于结果的验证不太好验证。因为一点不一样都可能造成错误,需要较好的眼力。考完还在后悔没有编个程序来验证答案是否完全一样。不过看起来没必要了。只是不知道是运行超时呢还是答案错误。我想是后者。毕竟读取100行应该不会很慢。然后用的是KMP算法读取"{{ "和" }}"的第一个字母 '{' 和 ' ' 的位置,根据这个位置来调用string.substr(index,length)来输出。

====================================================================================

第四题使用了广度搜索,然后由于是10000个结点10000条边的数据,但是觉得建立一个int[10000][10000]的数组不太现实,所以编了个链表类LinkedList来,然后LinkedList[10000].....不会是这样子超出256MB了吧.....然后每个结点设置了int c,b两个变量,然后用cnt = 0来存储结果,第一次访问到该结点的时候c++,入队,第二次访问到该结点的时候c==1且b==0所以入队,cnt++,第三次访问到结点的时候c==1且b==1所以什么都不做。这样子最后输出cnt还要-1,因为多了一个。除了测试案例输出正确以外还验证了一个也对了。

====================================================================================

这次CCF成绩不高也不低吧。作为第一次CCF认证只是去熟悉一下认证环境。一年后可能会再来一次,到时候我想我的能力可以到达第五题的水平了。

====================================================================================

你可能感兴趣的:(C语言)