ENCRYPT - Mã hóa mật khẩu

View as PDF

Submit solution

Points: 1.00 (partial)
Time limit: 1.0s
Memory limit: 256M

Author:
Problem type
Allowed languages
C, C#, C++, Go, Java, Pascal, Perl, PHP, Python, Ruby, Rust, Scratch, Swift

Hiện nay, với sự bùng nổ của công nghệ thông tin, mỗi cá nhân đều có cho mình một số tài khoản (tài khoản facebook, tài khoản e-mail, tài khoản twitter…). Các tài khoản này đều cần được bảo vệ bằng các mật khẩu. Một vấn đề quan trọng là cần có biện pháp bảo vệ các mật khẩu đó “an toàn” để tránh bị đánh cắp tài khoản.

Tèo luôn chọn cho mình những mật khẩu gồm một số chữ cái la-tinh đứng đầu (không quá ~10~ chữ cái) và đem ghép vào cuối một số nguyên dương trong hệ thập phân (không quá ~6~ chữ số). Ví dụ: Abcd12. Sau đó Tèo mã hóa mật khẩu bằng cách tách phần số ở cuối, giữ lại phần chữ cái ở đầu và đem chèn vào giữa các chữ cái đó (có thể cả ở đầu và ở cuối) một số chữ số từ ~0~ đến ~9~ sao cho tổng các chữ số được chèn đúng bằng số ở cuối của mật khẩu. Ví dụ: A1b23c4d2 là một cách mã hóa của mật khẩu Abcd12 (các chữ số được dùng để chèn là ~1 + 2 + 3 + 4 + 2 = 12~).

Bạn hãy giúp Tèo viết một chương trình giải mã mật khẩu nhé?

Input

  • Một dòng duy nhất chứa xâu ký tự mật khẩu đã mã hóa chỉ gồm các chữ cái la-tinh và chữ số.

Giới hạn:

  • Độ dài xâu mã hóa không quá ~10^5~ ký tự trong đó có chứa ít nhất một chữ cái la-tinh và ít nhất một chữ số khác ~0~.

Output

  • Ghi ra một dòng duy nhất là mật khẩu giải mã được.

Sample

Input #1
A1b23c4d2
Output #1
Abcd12

Problem source: Chuyên Sơn La Online Judge


Comments

Please read the guidelines before commenting.



  • -1
    phong2012  commented on Nov. 22, 2024, 9:56 a.m.

    cũng dễ ấy mà :) chỉ cần tách chữ, số ra thành list sau đó in tất cả các chữ ra bằng end='' trong python, sau đó là cộng tất cả các số rồi in thôi nha


    • 0
      viettrieule  commented on Feb. 22, 2025, 11:22 a.m.

      nhưng t làm c++ =))


  • -2
    lqDung  commented on Dec. 18, 2023, 2:16 p.m.

    Không rõ tại sao nhưng trong ngôn ngữ c, hàm fgets không qua được test 10


    • 1
      hieugiangho2015  commented on Feb. 18, 2024, 11:53 a.m.

      string s; getline(cin,s); string res = ""; int digit = 0; for(int i = 0 ; i < s.size() ; i++){ if(isdigit(s[i])){ digit += s[i] - '0'; }else if(isalpha(s[i])){ res+=s[i]; } } cout<<res+to_string(digit);


    • 1
      chinhle  commented on Feb. 10, 2024, 7:08 p.m.

      nghĩ đơn giản thôi á duyệt dãy rồi tạo 2 biến m n biến n đặt kiểu int còn biến m đặt kiểu str rồi kiểm tra xem a[i] có phải số không phải thì n += int(a[i]) còn không m += a[i] rồi in ra m+str(n)