2016年8月6日 星期六

b515 摩斯電碼

/*  b515
2014 高職 商業技藝競賽 模擬 P21 摩斯電碼
A .- B -... C -.-. D -..  E . F ..-. G --. H ....
I .. J .--- K -.- L .-..  M -- N -. O --- P .--.
Q --.- R .-. S ... T -  U ..- V ...- W .-- X -..-  Y -.-- Z --.. 
A~G   , H~M   , N~T  , U~Z
string mtbl[]={".-","-...","-.-.","-..",".","..-.","--.",
              "....","..",".---","-.-",".-..","--",
              "-.","---",".--.","--.-",".-.","...","-",
              "..-","...-",".--","-..-","-.--","--.."}
*/
#include <iostream>
#include <map>
#include <cstring>
#include <sstream>
using namespace std;
int main()
{
   string mtbl[]={".-","-...","-.-.","-..",".","..-.","--.",
           "....","..",".---","-.-",".-..","--",
           "-.","---",".--.","--.-",".-.","...","-",
           "..-","...-",".--","-..-","-.--","--.."};
   map <string , char> m2c;
   map <string , char>::iterator it;
   int i,n;
   for(i=0;i<26;++i)   // 使用 map 建表 m2c
     m2c[mtbl[i]] = (char) i+'A';
    string s,m;
   cin >> n; getline(cin,s);
   for(i=0; i<n; ++i)
   {
     getline(cin,s);
     std::istringstream iss (s);
     while(iss >> m)
     {
        cout << m2c[m];
     }
     cout << endl;
   }    
  return 0;
}
/* 輸入
5
... --- ...
-.-- --- ..-
.- -. -..
..
.... . .-.. .--.
輸出 ==========
SOS
YOU
AND
I
HELP
*/



Related Posts:

  • b515 摩斯電碼 /*  b515 2014 高職 商業技藝競賽 模擬 P21 摩斯電碼 A .- B -... C -.-. D -..  E . F ..-. G --. H .... I .. J .--- K -.- L .-..  M -- N -. O --- P .… Read More
  • 北二區101-5滾球遊戲(zj:a822改) 改版後範例輸入 2 3 1 1 4 0 0 範例輸出 1 9 5 5… Read More
  • OX連線(C++) 程式碼: /* nr100-1_OX 北二區 100年-1 OX連線 */ #include <iostream> #include <sstream> #include <cstring> #include <vector> #inclu… Read More
  • DFS應用-1 DFS應用-1: (A)有幾處水窪?上下左右算連通 (B)最大一處有多大{1個數數}?  (C,D)改成類似踩地雷(八方)算連通 0 1 2 3 4 5 6 0 1 2 … Read More
  • 北二區101-3小精靈吃數字/* a820-y6m8 北二區101年第3題:小精靈吃數字 第一列 X格,Y列(沒明確說明,假設10x10),第二列至第(Y+1)列皆有(X)個數{且-9<=*<=9},第(Y+2)列為起點(SX,SY)及方向1右上2左上3左下4右下  反彈三次後,即第4次不反彈離開,問經過… Read More

0 意見:

張貼留言