转换字母计分数据

实践练习C++17

简介

你在一家开发在线多人游戏 Lexiconia 的公司工作。

每位玩家获得 13 个字母,通过重新排列组成单词。不同字母的分值不同,因为某些字母更容易组成词。

游戏最初仅支持英语,如今十分流行,公司希望扩展到其他语言。

不同语言需要不同字母分值,通常根据字母在该语言中的相对使用频率确定。

例如,C 在英语中较常见,值 3 分;在挪威语中非常少见,值 10 分。

为便于增加语言,团队需要改变游戏中保存字母和分值的方式。

任务说明

转换游戏中字母与分值的数据格式。

目前按分值分组,使用一对多映射:

  • 1 分:A、E、I、O、U、L、N、R、S、T。
  • 2 分:D、G。
  • 3 分:B、C、M、P。
  • 4 分:F、H、V、W、Y。
  • 5 分:K。
  • 8 分:J、X。
  • 10 分:Q、Z。

改为每个字母对应自身分值的一对一映射。

  • a 对应 1 分。
  • b 对应 3 分。
  • c 对应 3 分。
  • d 对应 2 分。
  • 其他字母依此处理。

同时把大写字母转换为小写。

提示:测试示例展示了原有结构与目标结构。