第一次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(); } };