您的位置:首页 > 编程语言 > C语言/C++

蓝桥杯 算法提高 9-3摩尔斯电码 _c++ Map容器用法

2017-03-29 14:13 609 查看
//****|*|*-**|*-**|---
#include <iostream>
#include <map>
#include <vector>
#include <algorithm>
#include <utility>
#include <string>
using namespace std;

const int maxn = 26 + 10;
string key[] = {
"*-", "-***", "-*-*", "-**",
"*",  "**-*", "--*",  "****",
"**", "*---", "-*-",  "*-**",
"--", "-*",   "---",  "*--*",
"--*-","*-*", "***",  "-",
"**-","***-", "*--",  "-**-",
"-*--","--**"
};
char value[] = "abcdefghijklmnopqrstuvwxyz";

map<string, char> table;

void solve();

void solve()
{
string line;
for (int i = 0; i < 26; i++) {
table.insert(make_pair(key[i], value[i]));
}
//    for (const auto &e : table) {       //遍历table, c++11
//        cout << e.first << " " << e.second << endl;
//    }
string t = "";
cin >> line;
for (unsigned i = 0; i < line.size(); i++) {
if (line[i] != '|') {
t += line[i];
} else {
printf("%c", table[t]);
t = "";
}
}
printf("%c\n", table[t]);
}

int main()
{
solve();
return 0;
}


[b]很简单的题目,主要是了解c++的map容器的用法[/b]

[b]顺便推荐一个学长的博客,整理的超级完美: http://www.jianshu.com/p/26d4d60233a4[/b]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: