Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
我这种菜鸟做这道水题也花了不少时间。。。贴一下代码吧。。//G++ #include<iostream> #include<vector> #include<string> using namespace std; struct morse_code { string ch; string code; }; struct morse_code morse_code[50]; int main() { morse_code[0].ch="A"; morse_code[0].code=".-"; morse_code[1].ch="B"; morse_code[1].code="-..."; morse_code[2].ch="C"; morse_code[2].code="-.-."; morse_code[3].ch="D"; morse_code[3].code="-.."; morse_code[4].ch="E"; morse_code[4].code="."; morse_code[5].ch="F"; morse_code[5].code="..-."; morse_code[6].ch="G"; morse_code[6].code="--."; morse_code[7].ch="H"; morse_code[7].code="...."; morse_code[8].ch="I"; morse_code[8].code=".."; morse_code[9].ch="J"; morse_code[9].code=".---"; morse_code[10].ch="K"; morse_code[10].code="-.-"; morse_code[11].ch="L"; morse_code[11].code=".-.."; morse_code[12].ch="M"; morse_code[12].code="--"; morse_code[13].ch="N"; morse_code[13].code="-."; morse_code[14].ch="O"; morse_code[14].code="---"; morse_code[15].ch="P"; morse_code[15].code=".--."; morse_code[16].ch="Q"; morse_code[16].code="--.-"; morse_code[17].ch="R"; morse_code[17].code=".-."; morse_code[18].ch="S"; morse_code[18].code="..."; morse_code[19].ch="T"; morse_code[19].code="-"; morse_code[20].ch="U"; morse_code[20].code="..-"; morse_code[21].ch="V"; morse_code[21].code="...-"; morse_code[22].ch="W"; morse_code[22].code=".--"; morse_code[23].ch="X"; morse_code[23].code="-..-"; morse_code[24].ch="Y"; morse_code[24].code="-.--"; morse_code[25].ch="Z"; morse_code[25].code="--.."; morse_code[26].ch="_"; morse_code[26].code="..--"; morse_code[27].ch=","; morse_code[27].code=".-.-"; morse_code[28].ch="."; morse_code[28].code="---."; morse_code[29].ch="?"; morse_code[29].code="----"; string encoded_message; string morse=""; vector<string> morse_set; int n; cin>>n; const int MAX=n; vector<vector<int> > num_pause(MAX); for(int i=0;i<n;i++) { cin>>encoded_message; for(int j=0;j<encoded_message.size();j++) { for(int k=0;k<30;k++) { if(encoded_message[j]==morse_code[k].ch[0]) { morse+=morse_code[k].code; num_pause[i].push_back(morse_code[k].code.size()); } } } morse_set.push_back(morse); morse=""; } string sub; string result=""; for(int i=0;i<n;i++) { for(int j=num_pause[i].size()-1;j>=0;j--) { sub=morse_set[i].substr(0,num_pause[i][j]); morse_set[i].erase(0,num_pause[i][j]); for(int k=0;k<30;k++) { if(sub==morse_code[k].code) { result+=morse_code[k].ch; } } } cout<<(i+1)<<": "<<result<<endl; result=""; } return 0; } Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator