联邦州名缩写
* * * *
拉格朗日计划
* * * *
联邦州名缩写

给定美国联邦州的名称 (包括哥伦比亚特区),输出相应的邮政缩写,对应关系如下
                  "Alabama":        "AL",     "Alaska":         "AK",     "Arizona":              "AZ",
                  "Arkansas":       "AR",     "California":     "CA",     "Colorado":             "CO",
                  "Connecticut":    "CT",     "Delaware":       "DE",     "District of Columbia": "DC",
                  "Florida":        "FL",     "Georgia":        "GA",     "Hawaii":               "HI",
                  "Idaho":          "ID",     "Illinois":       "IL",     "Indiana":              "IN",
                  "Iowa":           "IA",     "Kansas":         "KS",     "Kentucky":             "KY",
                  "Louisiana":      "LA",     "Maine":          "ME",     "Maryland":             "MD",
                  "Massachusetts":  "MA",     "Michigan":       "MI",     "Minnesota":            "MN",
                  "Mississippi":    "MS",     "Missouri":       "MO",     "Montana":              "MT",
                  "Nebraska":       "NE",     "Nevada":         "NV",     "New Hampshire":        "NH",
                  "New Jersey":     "NJ",     "New Mexico":     "NM",     "New York":             "NY",
                  "North Carolina": "NC",     "North Dakota":   "ND",     "Ohio":                 "OH",
                  "Oklahoma":       "OK",     "Oregon":         "OR",     "Pennsylvania":         "PA",
                  "Rhode Island":   "RI",     "South Carolina": "SC",     "South Dakota":         "SD",
                  "Tennessee":      "TN",     "Texas":          "TX",     "Utah":                 "UT",
                  "Vermont":        "VT",     "Virginia":       "VA",     "Washington":           "WA",
                  "West Virginia":  "WV",     "Wisconsin":      "WI",     "Wyoming":              "WY"
              
本题难度:



解答

缩写的第一个字符与全称的第一个字符总是相同。

随后设计一个哈希函数将全称映射到第二个字符,此处的设计和代码来自此帖

最终代码有两行。

代码长度:156字节 vs. 全站第一:111字节。

import sys
for s in sys.argv[1:]:print(s[0]+'CLLKARADEZVAK.T..DETTH.NSAHY...ID.D..OC.Y.IRE.X..NALINC.VJM.SY.T..AAOI'[int(s[0]+s[-2:],36)%386%334%181%98%70])