#9488: 解題心得


z3x56 (二信阿資)

學校 : 基隆市私立二信高級中學
編號 : 41061
來源 : [61.231.128.29]
最後登入時間 :
2020-08-22 18:35:15
a631. 11. LED Decoder -- HP CodeWars2007 | From: [49.159.135.164] | 發表日期 : 2014-12-05 22:23

一開始考慮是否 構成字母的線段編號是否有順序?

若有依序,只要是讀入的數字違反編號順序就是下一個字母的線段編號

但要注意 D=1580 , W=135790 , X=90, 0是排在9之後

我是以 map<string,char>建 26字母的表

每讀入一組合序的數字就去查表,若無法查出,就減去最後的0再查一次

建表有點累,一開始還建錯,以下提供我建的表,請參考使用

 map < string , char > tbl;

void init(){

  tbl["123457"]='A'; tbl["1234567"]='B'; tbl["456"]='C'; tbl["1580"]='D'; tbl["12456"]='E';

  tbl["1249"]='F'; tbl["12569"]='G'; tbl["13457"]='H'; tbl["37"]='I'; tbl["3567"]='J';

  tbl["13459"]='K'; tbl["156"]='L'; tbl["12357"]='M'; tbl["3579"]='N'; tbl["123567"]='O';

  tbl["1458"]='P'; tbl["12347"]='Q'; tbl["123459"]='R'; tbl["12467"]='S'; tbl["278"]='T';

  tbl["13567"]='U'; tbl["1379"]='V'; tbl["135790"]='W'; tbl["90"]='X'; tbl["1347"]='Y';

  tbl["23456"]='Z';

}


 
ZeroJudge Forum