代码改变世界

TCHS SRM 1

2008-04-14 23:33  老博客哈  阅读(1070)  评论(1编辑  收藏  举报
http://www.topcoder.com/tc?module=Static&d1=hs&d2=match_editorials&d3=hs_srm1
题解:
1.   SpeedRadar
    水题
2.   SymbolFrequency
    模拟
3.   TrotownKeeper
i)   如果直接做,可以对迷宫的四周的'.'的位置进行dfs,并进行标记,
最后再用二重循环检查每一个'#',如果与它相邻的部分超过了边界或者是已经
标记过的'.',则将总的paint数目增加1
ii)   比较好的做法是在迷宫的一周增加'.',这样总的paint数目其实就是从(0,0)开始在dfs过程中
碰到的'#'的数目。这个"加圈"的做法是一个经常使用的技巧。


总结:
1.  在需要进行强制转化成double的时候,可以用*1.0或者+0.0的小技巧
2.  在不需要下标操作的时候,foreach打字要比for少一点
3.  通常在知道范围在'a'-'z'或者'A'-'Z'的时候,用int []要比Dictionary<char, int>要方便一点
4.  C#中的string 不好修改其中的元素值, 例如: string a = "China"; a[0] = 'c';
5.  成员变量在函数调用前记得初始化, 这个在用TZTester的时候要注意

这个算是我最近开始训练的一个标志吧,发现好久不做题,手生的不得了。刀要磨,脑也要转转~