Ý tưởng
Chúng ta sẽ tách xâu ra thành ít phần nhất sao cho mỗi phần chỉ có đúng 1 loại chữ cái tạo thành
Ví dụ: abcaab -> tách thành {"a","b","c","aa","b"}
Sau đó, ta sẽ duyệt qua dãy tạo được và tìm xem có phần tử nào có độ dài lớn hơn hoặc bằng k hay không. Nếu có thì in YES, nếu không thì NO.
Code
#include <bits/stdc++.h>
using namespace std;
string s;
char curChar = '!';
int k,curLen;
int main(){
ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
cin >> s >> k;
s += '!';
for(char c: s){
if(c == curChar) curLen++;
else{
if(curLen >= k){
cout << "YES";
return 0;
}
curLen = 1;
curChar = c;
}
}
cout << "NO";
return 0;
}
Giải:
Chúng ta sẽ tách xâu ra thành ít phần nhất sao cho mỗi phần chỉ có đúng 1 loại chữ cái tạo thành
Ví dụ: abcaab -> tách thành {"a","b","c","aa","b"}
Sau đó, ta sẽ duyệt qua dãy tạo được và tìm xem có phần tử nào có độ dài lớn hơn hoặc bằng k hay không. Nếu có thì in YES, nếu không thì NO.
Code
#include <bits/stdc++.h>
using namespace std;
string s;
char curChar = '!';
int k,curLen;
int main(){
ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
cin >> s >> k;
s += '!';
for(char c: s){
if(c == curChar) curLen++;
else{
if(curLen >= k){
cout << "YES";
return 0;
}
curLen = 1;
curChar = c;
}
}
cout << "NO";
return 0;
}
$#Nguyenchuong$
Tin học, tiếng Anh: informatics, tiếng Pháp: informatique, là một ngành khoa học chuyên nghiên cứu quá trình tự động hóa việc tổ chức, lưu trữ, xử lý và truyền dẫn thông tin của một hệ thống máy tính cụ thể hoặc trừu tượng (ảo). Với cách hiểu hiện nay, tin học bao hàm tất cả các nghiên cứu và kỹ thuật có liên quan đến việc mô phỏng, biến đổi và tái tạo thông tin.
Nguồn : Wikipedia - Bách khoa toàn thưLớp 6 - Là năm đầu tiên của cấp trung học cơ sở. Được sống lại những khỉ niệm như ngày nào còn lần đầu đến lớp 1, được quen bạn mới, ngôi trường mới, một tương lai mới!
Nguồn : ADMIN :))Copyright © 2021 HOCTAP247