SRM 584 第一次玩TopCoder。。。只水题一道。。。
第一次topcoder,以前老感觉没有资格去做tc,cf什么的,现在已经慢慢接触了。
感觉还可以,还是有让我们这些蒻菜安慰的水题。
tc的确很好玩,用客户端比赛,还有各种规则,而且还是只编写一个类提交上去,最后还能cha别人(虽然我还没cha过),具体规则看大神写的这篇文章。
好吧,我的第一次TC的SRM就只刷出了第一道250P的水题,题目字体太小了,看题目看了老半天,然后编写完调试出来,还花了挺长时间去把程序改成类,在客户端上compile,蛋疼的是类的后面的分号忘记写找了好长时间。。。。。
最后搞完submit已经过了一半时间了,不知道怎么看有没有ac,在厚着脸皮群里问了一下,发现得看sumary的得分,我第一道250分得到127分。。。
然后,然后就没有然后了,第二题好不容易看懂没有思路,于是卡到challenge,翻别人代码看到人家都有很熟练的代码,我还是第一次,什么也不懂。
看来以后还要加油了。。。
难得第一次,就把代码贴出来,因为实在水。。。。
题目要求输入两个string,求出它们的前缀字符串拼在一起能够构成几种不同字符串。用stl的string+vector几行就搞定。
代码:
#include <string> #include <set> using namespace std; class TopFox { public: int possibleHandles(string familyName, string givenName) { set <string> s; string tmp; for (int i = 1; i <= familyName.size(); i++) for (int j = 1; j <= givenName.size(); j++) { tmp = familyName.substr(0, i) + givenName.substr(0, j); s.insert(tmp); } return s.size(); } }; #include <string> #include <set> using namespace std; class TopFox { public: int possibleHandles(string familyName, string givenName) { set <string> s; string tmp; for (int i = 1; i <= familyName.size(); i++) for (int j = 1; j <= givenName.size(); j++) { tmp = familyName.substr(0, i) + givenName.substr(0, j); s.insert(tmp); } return s.size(); } };
补充:软件开发 , C++ ,