Giải Nén Xâu - LQDOJ: Le Quy Don Online Judge
Có thể bạn quan tâm
Tiếng Việt
Tiếng Việt EnglishĐăng nhập
Đăng ký
Giải nén xâu
Xem PDF Nộp bài Tất cả bài nộp Các bài nộp tốt nhất Xem hướng dẫn Tác giả: admin Dạng bài 04 string (Chuỗi) Điểm: 100 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hìnhTrong máy tính, để tiết kiệm bộ nhớ, người ta thường tìm cách nén dữ liệu. Trong việc nén văn bản, ta sư dụng một phương pháp đơn giản đươc mô tả thông qua ví dụ sau:
Ví dụ:
Với xâu ký tự: "aaaabbb" sẽ được nén lại thành xâu "4a3b". Với xâu ký tự "aaab" sẽ được nén lại thành "3ab".
Cho một xâu \(S\) gồm các ký tự thuộc tập \('a'...'z'\). Gọt \(St\) là xâu nén của xâu \(S\) theo phương pháp được mô tả như trên. Xâu \(St\) gồm \(N\) ký tự thuộc tập các ký tự \('a'...'z'\), \('0',...'9'\)
Hãy giải nén xâu \(St\) để được xâu gốc \(S\).
Input
- Một xâu ký tự \(St\).
Output
- Một xâu ký tự \(S\) sau khi giải nén.
- Đề đảm bảo số lượng kí tự sau khi giải nén không quá \(10^{7}\).
Constraints
- \(1 \leq N \leq 10000\)
Example
Test 1
Input 2m2a3b4ezh Output mmaabbbeeeezhBình luận
Từ khóa » Giải Nén Xâu Trong Pascal
-
Lập Trình Pascal, Giải Nén Xâu Ký Tự, Giai Nen Xau Ki Tu Bồi Dưỡng ...
-
Giải Nén Xâu GNEN - Thầy Quách Văn Lượm
-
Giải Nén Xâu
-
Nén Xâu Kí Tự
-
Xâu Thuần Nhất (Giải Nén Xâu Trong Pascal) - Tài Liệu Text - 123doc
-
Giải Nén Xâu - Góc Tin Học
-
Giải Nén Xâu Trong Pascal
-
Viết Chương Trình Nhập Vào 1 Xâu Ký Tự (\(1< S\le255 ... - Hoc24
-
NÉN-GIẢI NÉN XÂU KÍ TỰ - Bài Tập Chuỗi - Nguyễn Thị Dương Hương
-
Đề Thi Chọn Học Sinh Giỏi Cấp Tỉnh - Môn Tin Học 11 - Bài Giảng Lớp 11
-
Giải Giùm Bài Nén Chuỗi Bằng Pascal [Archive] - Diễn Đàn Tin Học
-
Viết CT Nén Xâu Kí Tự S được Nhập Từ Bàn Phím. VD
-
[PDF] Chuyên đề Xử Lý Xâu
using namespace std;
int main() { string s; cin >> s; int d = 0; for (int i = 0; i < s.size(); i++) { if (isdigit(s[i])) { d = d * 10 + s[i] - '0'; } else { if (d == 0) { cout << s[i]; continue; } for (int j = 1; j <= d; j++) cout << s[i]; d = 0; } } }
Hint 1
Reference AC code | O(n) time | O(n) auxiliary space | String
C++inlineboolisDigit(charc){return'0'<=c&&c<='9';} intmain() { strings; getString(s); for(inti=0;i<sz(s);++i) { if(isDigit(s[i])==false){cout<<s[i];continue;} intx=0; while(i<sz(s)&&isDigit(s[i]))x=10*x+(s[i++]-'0'); while(x--)cout<<s[i]; } return0; }Reference AC code | O(n) time | O(1) auxiliary space | String, Online Solving
C++inlineboolisLowLatin(charc){return'a'<=c&&c<='z';} inlineboolisDigit(charc){return'0'<=c&&c<='9';} intmain() { for(charc=getchar();isLowLatin(c)||isDigit(c);c=getchar()) { if(isDigit(c)==false){cout<<c;continue;} intx=0; while(isDigit(c))x=10*x+(c-'0'),c=getchar(); while(x--)cout<<c; } return0; }