hội người tạm mù việt nam

Xem PDF

Điểm: 1 Thời gian: 1.0s Bộ nhớ: 512M Input: bàn phím Output: màn hình

Trường Lê Quý Đôn vừa tổ chức không-biết-có-nên-gọi-là-thành-công-hay-không hội trại truyền thống “Nhiệt huyết Thiên Thanh” năm 2023.

Bạn Thành - một học sinh Đà Nẵng cầu toàn đi du học tại Việt Nam. Vì là người cầu toàn nên gì bạn cũng theo quy tắc. Vì vậy, khi lớp bạn tập động tác cho bài nhảy “Việt Nam ơi”, bạn luôn là người làm chuẩn nhất.

Sau khi nếm mùi hào quang rực rỡ trên sân khấu trại với bài biểu diễn đó, vì ánh đèn sân khấu chiếu quá mạnh, cùng với ở dưới dàn khán giả bật quá nhiều đèn Flash điện thoại, nên Thành đã bị mù tạm thời. Chính vì vậy, bạn chưa thể viết được như người bình thường. May mắn là ngày đó bạn chơi thân với chị Hà nên được chị dạy cho chữ nổi Braille, cũng đọc được sơ sơ.

Câu chuyện trên tất nhiên có thể không có thật, nhưng việc bạn lại phải xử lý xâu Unicode là có thật.
Yên tâm đi, cũng không khó, và solution vào đâu đó 100 dòng, nhưng gần một nửa khối lượng là định nghĩa giá trị rồi.

Test 1

Input
⠨⠉⠹⠠⠝⠛⠀⠓⠕⠁⠰⠀⠨⠭⠤⠁⠀⠓⠹⠊⠠⠀⠨⠉⠓⠢⠥⠀⠝⠛⠓⠊⠤⠁⠀⠨⠧⠠⠊⠣⠞⠀⠨⠝⠁⠍
Output
4
Note
Hint will be here and in the announcement

Test 1

Input
⠨⠛⠊⠢⠁⠊⠀⠨⠅⠓⠔⠥⠽⠣⠝⠀⠅⠓⠔⠊⠉⠓⠀⠨⠅⠰⠽⠀⠞⠓⠊⠀⠨⠓⠠⠕⠉⠀⠎⠊⠝⠓⠀⠛⠊⠢⠕⠊⠀⠨⠟⠥⠔⠹⠉⠀⠛⠊⠁⠀⠨⠞⠗⠥⠝⠛⠀⠓⠠⠕⠉⠀⠨⠏⠓⠢⠹⠀⠞⠓⠹⠝⠛⠀⠍⠹⠝⠀⠨⠞⠊⠝⠀⠓⠠⠕⠉
Output
0
Note


Bình luận


  • 0
    hoangphucnguyen    9:56 p.m. 9 Tháng 5, 2024

    chịu


    • 2
      dxuhai    7:43 p.m. 29 Tháng 4, 2024

      SOS


      • 0
        tkdvnkdn88    8:21 p.m. 7 Tháng 11, 2023

        ???


        • 2
          Trung09    8:27 a.m. 23 Tháng 8, 2023

          BRAILLE = "⠀⠁⠂⠃⠄⠅⠆⠇⠈⠉⠊⠋⠌⠍⠎⠏⠐⠑⠒⠓⠔⠕⠖⠗⠘⠙⠚⠛⠜⠝⠞⠟⠠⠡⠢⠣⠤⠥⠦⠧⠨⠩⠪⠫⠬⠭⠮⠯⠰⠱⠲⠳⠴⠵⠶⠷⠸⠹⠺⠻⠼⠽⠾⠿"
          CNT_BRAILLE = 64
          BRCODE = [0] * CNT_BRAILLE
          NAN = -1

          def madeCode():
          for num in range(CNT_BRAILLE):
          save = num
          ans = 0
          for i in range(1, 7):
          if num & 1:
          ans = ans * 10 + i * (num & 1)
          num >>= 1
          BRCODE[save] = ans
          def findCode(c):
          for i in range(CNT_BRAILLE):
          if c == BRAILLE[i]:
          return BRCODE[i]
          return NAN
          madeCode();

          LETTER = " aăâbcdđeêfghijklmnoôơpqrstuưvwxyz"
          CNT_LETTER = 34
          CHAR_CODE=[
          0, 1,345,16,12,14,
          145,2346,15,126,
          124,1245,125,24,
          245,13,123,134,
          1345,135,1456,246,
          1234,12345,1235,234,
          2345,136,1256,1236,
          2456,1346,13456,1356
          ]
          def getLetter(code):
          for i in range(CNT_LETTER):
          if code == CHAR_CODE[i]:
          return LETTER[i]
          return ''
          def letter2code(letter):
          return CHAR_CODE[LETTER.find(letter)]

          TONE = [35, 56, 26, 36, 6]
          VOWEL = "aăâeêioôơuưy"
          VOWEL_WITH_TONES = "áàảãạắằẳẵặấầẩẫậéèẻẽẹếềểễệíìỉĩịóòỏõọốồổỗộớờởỡợúùủũụứừửữựýỳỷỹỵ"
          CAPS_VOWEL_WITH_TONES = "ÁÀẢÃẠẮẰẲẴẶẤẦẨẪẬÉÈẺẼẸẾỀỂỄỆÍÌỈĨỊÓÒỎÕỌỐỒỔỖỘỚỜỞỠỢÚÙỦŨỤỨỪỬỮỰÝỲỶỸỴ"

          DIGIT = "1234567890"
          CHAR_DIGIT = [
          1, 12, 14, 145, 15, 124, 1245, 125, 24, 245
          ]

          CAPS_ONE = 46
          CAPS_ALL = 456
          START_DIGIT = 3456

          def makeBrailleWord(letters: list, tone, cap):
          model = letters[:]
          length = len(letters)
          if tone != NAN:
          # tone = TONE[tone]
          if length >= 2 and model[0] == letter2code('g') and model[1] == letter2code('i'):
          if length == 2 or LETTER[CHAR_CODE.index(model[2])] not in VOWEL:
          model.insert(1, tone)
          else:
          model.insert(2, tone)
          elif length >= 2 and model[0] == letter2code('q') and model[1] == letter2code('u'):
          model.insert(2, tone)
          else:
          firstVowel = NAN
          for i in range(length):
          if LETTER[CHAR_CODE.index(model[i])] in VOWEL:
          firstVowel = i
          break
          model.insert(firstVowel, tone)
          if cap:
          if model[0] in TONE:
          model.insert(1, CAPS_ONE)
          else:
          model.insert(0, CAPS_ONE)
          return model

          s = input().split(BRAILLE[0])
          answer = 0
          for word in s:
          length = len(word)
          allChar = []
          for c in word:
          allChar.append(findCode(c))
          # print(allChar)
          if allChar[0] == START_DIGIT:
          continue
          else:
          cap = False; tone = NAN
          letters = []
          for c in allChar:
          if c == CAPS_ONE:
          cap = True
          elif c in TONE:
          tone = c
          else:
          letters.append(c)

              model = makeBrailleWord(letters, tone, cap)
              for i in range(length):
                  if model[i] != allChar[i]:
                      answer += 1
                      break
          

          print(answer)

          1 phản hồi

          • 0
            danhnoname    3:08 p.m. 11 Tháng 8, 2023

            hao v :v