KTTRU - Kiểm tra trùng
Dữ liệu vào: standard input
Dữ liệu ra: standard output
Giới hạn thời gian: 1.0 giây
Giới hạn bộ nhớ: 128 megabyte
Đăng bởi: nxphuc
Yêu cầu rất đơn giản, cho một xâu kí tự S. Nhiệm vụ của bạn là hãy viết lặp đi lặp lại xâu S vô hạn lần và cho biết 2 kí tự tứ a và thứ b của xâu mới đó có giống nhau hay không? Các phần tử được đánh số từ 1.
Dữ liệu nhập:
- Dòng đầu tiên chứa xâu S (1 ≤ |S| ≤ 105).
- Dòng thứ hai chứa một số nguyên Q - số lượng truy vấn (1 ≤ Q ≤ 105).
- N dòng tiếp theo, mỗi dòng chứa 2 số nguyên a, b - chỉ số 2 phần tử cần kiểm tra (1 ≤ a, b ≤ 1018).
Dữ liệu xuất: Gồm Q dòng tương ứng với Q truy vấn, dòng thứ i trong Q dòng chứa "Yes" hoặc "No" (không có ngoặc kép) tương ứng với hai kí tự ở vị trí a và b giống nhau hay không.
Ví dụ
- inputvgxgp
3
2 4
2 5
7 14outputYes
No
Yes - Solution :
- #include<iostream>#include<string.h>#define max 100005using namespace std;int main (){char s[max];cin >> s;int lenS = strlen(s);int test;cin >> test;while(test--){long long a,b;cin >> a >> b;a = a-1;b = b-1;if(s[a%lenS]==s[b%lenS]) cout << "Yes" << endl;else cout << "No" << endl;}}
Nhận xét
Đăng nhận xét