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


  • 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