encode.go 504 B

12345678910111213141516171819202122232425
  1. package main
  2. import "fmt"
  3. func main() {
  4. var s string
  5. fmt.Scanln(&s)
  6. base := []int{16276, 651, 26, 1}
  7. code, l := 0, len(s)
  8. num := make([]int, l)
  9. for i := range num {
  10. num[i] = int(s[i] - 'a')
  11. }
  12. switch l {
  13. case 1:
  14. code = num[0] * base[0]
  15. case 2:
  16. code = num[0]*base[0] + 1 + num[1]*base[1] + 1
  17. case 3:
  18. code = num[0]*base[0] + 1 + num[1]*base[1] + 1 + num[2]*base[2]
  19. default:
  20. code = num[0]*base[0] + 1 + num[1]*base[1] + 1 + num[2]*base[2] + 1 + num[3]*base[3]
  21. }
  22. fmt.Println(code)
  23. }