当前位置:编程学习 > C/C++ >>

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++ ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,