Task: | Nimionese |
Sender: | wavelets |
Submission time: | 2015-11-25 18:52:44 +0200 |
Language: | C++ |
Status: | READY |
Result: | ACCEPTED |
test | verdict | time | |
---|---|---|---|
#1 | ACCEPTED | 0.06 s | details |
#2 | ACCEPTED | 0.07 s | details |
#3 | ACCEPTED | 0.06 s | details |
#4 | ACCEPTED | 0.05 s | details |
#5 | ACCEPTED | 0.05 s | details |
#6 | ACCEPTED | 0.05 s | details |
#7 | ACCEPTED | 0.05 s | details |
#8 | ACCEPTED | 0.05 s | details |
#9 | ACCEPTED | 0.06 s | details |
#10 | ACCEPTED | 0.07 s | details |
#11 | ACCEPTED | 0.04 s | details |
#12 | ACCEPTED | 0.05 s | details |
Compiler report
input/code.cpp: In function 'int main()': input/code.cpp:87:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for (int i = 0; i < word.length(); ++i) ^ input/code.cpp:97:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for (int i = 1; i < syb.size(); ++i) ^ input/code.cpp:99:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for (int a = 0; a < syb[i].length(); ++a) ^
Code
#include <iostream>#include <string>#include <vector>#include <set>#include <unordered_set>using namespace std;unordered_set<char> hard = {'b','c','d','g','k','n','p','t'};unordered_set<char> hard_up = {'B','C','D','G','K','N','P','T'};bool iscap(char c){return c < 'a';}bool ishard(char c){return hard.count(c) || hard_up.count(c); }char nearest_hard(char c){int mind = 1000;bool tie = false;char tiechar = 127;char minchar = 127;const auto& vec = iscap(c) ? hard_up : hard;for (char t: vec){int d = abs(int(c)-int(t));if (d == mind){tie = true;tiechar = min(t, tiechar);}else if (d < mind){tie = false;mind = d;minchar = t;tiechar = 127;}}if (tie)return tiechar;elsereturn minchar;}string nearest_end(char c){int mind = 1000;bool tie = false;char tiechar = 127;char minchar = 127;vector<char> vec = {'a','o','u'};for (char t: vec){int d = abs(int(c)-int(t));if (d == mind){tie = true;tiechar = min(t, tiechar);}else if (d < mind){tie = false;mind = d;minchar = t;tiechar = 127;}}if (tie)return string() + tiechar + "h";elsereturn string() + minchar + "h";}int main(){string word;while(cin>>word){if (!cin)break;//word[0] = nearest_hard(word[0]);// loop syllablesvector<string> syb(1);for (int i = 0; i < word.length(); ++i){char c = word[i];if (c == '-')syb.push_back(string());elsesyb.back() += c;}word = syb[0];for (int i = 1; i < syb.size(); ++i){for (int a = 0; a < syb[i].length(); ++a){if (ishard(syb[i][a])){bool cap = iscap(syb[i][a]);syb[i][a] = std::tolower(syb[0][0]);if (cap)syb[i][a] = std::toupper(syb[0][0]);}}word += syb[i];}//if (ishard(word[word.length()-1])){word += nearest_end(word[word.length()-1]);}cout << word << " ";}cout << endl;}
Test details
Test 1
Verdict: ACCEPTED
input |
---|
Each hip-po dog hip hip Hooray |
correct output |
---|
Dach gipgo dogah gipoh gipoh G... |
user output |
---|
Dach gipgo dogah gipoh gipoh G... |
Test 2
Verdict: ACCEPTED
input |
---|
aa ab ac ad ae af ag ah ai aj ... |
correct output |
---|
ba bbah bcah bdah be bf bgah b... |
user output |
---|
ba bbah bcah bdah be bf bgah b... |
Test 3
Verdict: ACCEPTED
input |
---|
axx bxx cxx dxx exx fxx gxx hx... |
correct output |
---|
bxx bxx cxx dxx dxx gxx gxx gx... |
user output |
---|
bxx bxx cxx dxx dxx gxx gxx gx... |
Test 4
Verdict: ACCEPTED
input |
---|
bc-acb bd-adb bg-agb bk-akb bn... |
correct output |
---|
bcabbah bdabbah bgabbah bkabba... |
user output |
---|
bcabbah bdabbah bgabbah bkabba... |
Test 5
Verdict: ACCEPTED
input |
---|
Hip-po Aip-pop cip-pop dip-pop... |
correct output |
---|
Gipgo Bipbobah cipcocah dipdod... |
user output |
---|
Gipgo Bipbobah cipcocah dipdod... |
Test 6
Verdict: ACCEPTED
input |
---|
d d d d d d d d d d d d d d d ... |
correct output |
---|
dah dah dah dah dah dah dah da... |
user output |
---|
dah dah dah dah dah dah dah da... |
Test 7
Verdict: ACCEPTED
input |
---|
Dad dad Dad dad dad dad dad da... |
correct output |
---|
Dadah dadah Dadah dadah dadah ... |
user output |
---|
Dadah dadah Dadah dadah dadah ... |
Test 8
Verdict: ACCEPTED
input |
---|
dddddddddddddddddddddddddddddd... |
correct output |
---|
dddddddddddddddddddddddddddddd... |
user output |
---|
dddddddddddddddddddddddddddddd... |
Test 9
Verdict: ACCEPTED
input |
---|
Wpgliaku-uibagddilpynomsytuubi... |
correct output |
---|
Tpgliakuuitatttiltytomsytuutil... |
user output |
---|
Tpgliakuuitatttiltytomsytuutil... |
Test 10
Verdict: ACCEPTED
input |
---|
Fsqn-ggoou-padnrosondpf-mtsjfs... |
correct output |
---|
Gsqnggoougaggrosogggfmgsjfsagl... |
user output |
---|
Gsqnggoougaggrosogggfmgsjfsagl... |
Test 11
Verdict: ACCEPTED
input |
---|
Ojaivaeduuucykdclkyammbvozytuk... |
correct output |
---|
Njaivaeduuucykdclkyammbvozytuk... |
user output |
---|
Njaivaeduuucykdclkyammbvozytuk... |
Test 12
Verdict: ACCEPTED
input |
---|
Uprtouo-nvnabbiedq-vzogovufjaa... |
correct output |
---|
Tprtouotvtattietqvzotovufjaaee... |
user output |
---|
Tprtouotvtattietqvzotovufjaaee... |