SRM 374 DIV1 Easy - SyllableSorting

問題


http://community.topcoder.com/stat?c=problem_statement&pm=8374&rd=10793

解き方


文字列操作の問題。
問題文の最後の比較条件を見落としてしまった。。

コード


class SyllableSorting {

public:

bool ispossible(char cur){
char ch[]={'a','e','i','o','u'};
FORE(i,0,5)if(cur==ch[i])return false;
return true;
}

vector<string> calc(string w){
int n=w.size();
vector<string> ans;

int at=0;
while(at<n){
string str="";
int flag=0;
while(at<n){
if(ispossible(w[at])){
if(flag==0)str+=w[at++];
else break;
}else{
str+=w[at++];
flag=1;
}
}
ans.push_back(str);
}

return ans;
}

vector<string> sortWords(vector<string> words) {
int n=words.size();
vector<pair<pair<vector<string>,vector<string> >,string> > p;

FORE(i,0,n){
vector<string> cur=calc(words[i]);
vector<string> cur2=cur;
sort(all(cur));
p.push_back(make_pair(make_pair(cur,cur2),words[i]));
}
sort(all(p));

vector<string> ans;
FORE(i,0,n)ans.push_back(p[i].second);

return ans;
}

};

Share this

Related Posts

Previous
Next Post »