Chuỗi Thu Gọn
Xem dạng PDF
Gửi bài giải
Điểm:
0,01 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
Input:
THUGON.INP
Output:
THUGON.OUT
Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch
Một chuỗi kí tự thuần nhất được định nghĩa là chuỗi chỉ bao gồm các kí tự latinh in hoa từ ~'A'~ đến ~'Z'~. Chuỗi kí tự thuần nhất có thể được thu gọn thành các kí tự kèm theo số lần xuất hiện liên tiếp của kí tự đó (Số lần xuất hiện sẽ đứng ngay trước kí tự, nếu số lần xuất hiện là ~1~ thì không cần ghi số ~1~). Ví dụ: Chuỗi thuần nhất ~AABBCCCDDEAAA~ được thu gọn thành chuỗi ~2A2B3C2DE3A~.
Yêu cầu: Đọc các chuỗi thuần nhất từ tệp dữ liệu THUGON.INP có độ dài không quá ~255~ kí tự và chuyển thành chuỗi thu gọn.
Input
Từ tệp văn bản THUGON.INP gồm nhiều dòng, mỗi dòng là một chuỗi thuần nhất.
Output
Đưa ra tệp văn bản THUGON.OUT gồm nhiều dòng, mỗi dòng tương ứng là chuỗi thu gọn thỏa mãn yêu cầu đề bài.
Sample Input 1
AABBCCCDDEAAA
ABBBBBDDEE
Sample Output 1
2A2B3C2DE3A
A5B2D2E

Bình luận
// ██╗ ██╗ █████╗ ██████╗ ████████╗ █████╗ ████████╗ // ██║ ██║██╔══██╗██╔═══██╗ ╚══██╔══╝██╔══██╗╚══██╔══╝ // ███████║███████║██║ ██║ ██║ ███████║ ██║ // ██╔══██║██╔══██║██║ ██║ ██║ ██╔══██║ ██║ // ██║ ██║██║ ██║╚██████╔╝ ██║ ██║ ██║ ██║ // ╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝
include <bits/stdc++.h>
define endl '\n'
define maxn 100005
define MOD 100000000000007
define Task "THUGON"
define pb push_back
define int long long
define gr greater<int>()
define lg length()
define us unsigned long long
define fi first
define se second
pragma GCC target ("avx2")
pragma GCC optimize ("O3")
pragma GCC optimize ("unroll-loops")
pragma GCC optimize ("O2")
pragma GCC optimize ("Os")
using namespace std; const long long MOD1=1000000005; const long long MOD2=1000000007; const long long MOD3=1000000009; signed main() { iosbase::syncwith_stdio(false); cin.tie(NULL); if(fopen(Task".inp","r")){ freopen(Task".inp", "r", stdin); freopen(Task".out", "w", stdout); } string s; while(cin>>s) {
}
nếu dãy là ABABAB thì có thành 3AB ko ạ, sao code này của t bị WA nhỉ:
include<bits/stdc++.h>
using namespace std; using ll = long long; const ll maxn = 1e6 + 5;
string s, res; ll n; int main() { iosbase::syncwith_stdio(0); cin.tie(0); cout.tie(0);
}
bạn đang dùng 1-based kìa, thì vòng for phải là for(int i = 1; i <= n; i++). Nma nếu dùng for thì mỗi lần duyệt xong i lại tăng lên 1 đơn vị sẽ bị duyệt lặp lại đó, bạn dùng while thử xem. Với cả sau khi cộng dồn vào rồi thì dịch chuyển i -> j để tránh lặp. Code: https://ideone.com/uftNHO
nếu mà bài ko nhập số n chuỗi thì nhập tới khi nào v mn?
string s; while(cin >> s){ //code }
Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.