看过题解后如果觉得还算有用,请帮忙加点我所在团队博客访问量
http://www.cnblogs.com/newbe/p/4069834.html
http://www.cnblogs.com/newbe/p/4072005.html
求赞求祝福啊!!!
http://www.cnblogs.com/newbe/p/4058097.html
软工老师太狠心,还请可怜一下同课不同命的我们吧~点一下文章末尾的推荐什么的呗,有个回复什么的就更好了!
1、单词查询
先把所有句号分开的字符串取出来,再将字符串掐头去尾(第一个非空字符开始,最后一个非空字符截至),然后排序,
然后把每个单词暴力查一遍是不是作为单词存在字符串里面,模拟即可
ABC、AbC、ABc、aBC、abc…视为同一单词,用strcasecmp完成
遇到空行则将line_cnt++,否则将其置为0
最后找到line_cnt>=2且一行内只有_END_即可认为原文结束
2、按列统计
按题目要求模拟即可,注意第一个字符串可能全由数字构成,以及均值必须是四舍五入的值。
使用gets得到每一行,然后用sscanf即可处理所有数字的输入。
3、呼叫组
数据量十分小,所以用floyd搞一下就好了
floyd可以用来求两个连通点间的最短路问题。另外一个比较简单的应用,还可以用来判断两点间的连通性。即判断两点是否连通。本题就是floyd的这种简单用法。
注意的地方:输入文件有多行,会有很多行,因为可以有重复的呼叫记录
每个呼叫组的成员之间以1个英文逗号加1个空格符,注意别被格式坑了
输出要按ascii码排序,处理之前先把出现字符串按升序排好在操作,用每个字符串下标作为n*n图上的一个点,floyd一遍,输出所有i->j且 j->i的点集就可以轻松解决此题了
P.S.:Tarjan算法也可求解此题。
4、迷宫最短路径
最简单的bfs
队列长度只需80*80,超时的话不是数组长度的问题。
需要一个vis数组来判断一个点之前是否来过,来过的话不再将此点加入队列。
5、数据排序
没什么好说的..
写好cmp函数即可
卡了一下午,最后发现整个题面居然有错!
C2 tmd就是个坑!