#include <array>
#include <iostream>
#include <string>
std::string zip_to_postnet(const std::string& zip)
{
std::array<std::string,10> lookup{"11000", "00011", "00101", "00110",
"01001", "01010", "01100", "10001",
"10010", "10100"};
std::string result = "1";
for (unsigned int i = 0; i < 5; ++i)
{
int digit = zip[i] - '0';
result += lookup[digit];
}
return result + "1";
}
int main()
{
std::cout << zip_to_postnet("24060") << std::endl;
std::cout << zip_to_postnet("92064") << std::endl;
std::cout << zip_to_postnet("11518") << std::endl;
return 0;
}
I2luY2x1ZGUgPGFycmF5PgojaW5jbHVkZSA8aW9zdHJlYW0+CiNpbmNsdWRlIDxzdHJpbmc+CgpzdGQ6OnN0cmluZyB6aXBfdG9fcG9zdG5ldChjb25zdCBzdGQ6OnN0cmluZyYgemlwKQp7CiAgICBzdGQ6OmFycmF5PHN0ZDo6c3RyaW5nLDEwPiBsb29rdXB7IjExMDAwIiwgIjAwMDExIiwgIjAwMTAxIiwgIjAwMTEwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiMDEwMDEiLCAiMDEwMTAiLCAiMDExMDAiLCAiMTAwMDEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIxMDAxMCIsICIxMDEwMCJ9OwoKICAgIHN0ZDo6c3RyaW5nIHJlc3VsdCA9ICIxIjsKCiAgICBmb3IgKHVuc2lnbmVkIGludCBpID0gMDsgaSA8IDU7ICsraSkKICAgIHsKICAgICAgICBpbnQgZGlnaXQgPSB6aXBbaV0gLSAnMCc7CiAgICAgICAgcmVzdWx0ICs9IGxvb2t1cFtkaWdpdF07CiAgICB9CgogICAgcmV0dXJuIHJlc3VsdCArICIxIjsKfQoKaW50IG1haW4oKQp7CiAgICBzdGQ6OmNvdXQgPDwgemlwX3RvX3Bvc3RuZXQoIjI0MDYwIikgPDwgc3RkOjplbmRsOwogICAgc3RkOjpjb3V0IDw8IHppcF90b19wb3N0bmV0KCI5MjA2NCIpIDw8IHN0ZDo6ZW5kbDsKICAgIHN0ZDo6Y291dCA8PCB6aXBfdG9fcG9zdG5ldCgiMTE1MTgiKSA8PCBzdGQ6OmVuZGw7CgogICAgcmV0dXJuIDA7Cn0=