Ôn tập cuối năm

Bạn chưa đăng nhập. Vui lòng đăng nhập để hỏi bài
Thanh Bình

TUVUNG - TỪ VỰ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 

 

     Uyên viết ra một xâu S có độ dài không quá 106 chỉ gồm các kí tự thường trong bảng chữ cái tiếng Anh. Một từ vựng là một từ thu được bằng cách sao chép một đoạn kí tự liên tiếp từ xâu S thoả mãn một trong hai điều kiện:

     - Bắt đầu bằng một nguyên âm (a, e, i, o, u), kết thúc bằng một phụ âm

     - bắt đầu bằng một phụ âm và kết thúc là một nguyên âm.

     Yêu cầu: Giúp Uyên đếm số lượng từ vựng có trong S theo quy tắc trên.

Dữ liệu nhập:

  - Gồm một xâu S.

Kết quả:

  - in ra một số duy nhất là kết quả tìm được.

Ràng buộc:

  - 1/3 số test: Xâu S dài không quá 104.

Ví dụ

input

adceba

output

9

Lưu ý:

  - Đây không phải là test chấm chính thức của BTC.

Nguyễn Hoàng Duy
27 tháng 6 2023 lúc 17:20
#include<bits/stdc++.h>using namespace std;string s;long long c[1000001],w[1000001];int main() {getline(cin,s);long long n = s.size();if(s[n-1] == 'a' || s[n-1] == 'e' || s[n-1] == 'i' || s[n-1] == 'o' || s[n-1] == 'u') c[n-1] = 0;else c[n-1] = 1;for(int i = n-2;i >= 0;i--) {if(s[i] == 'a' || s[i] == 'e' || s[i] == 'i' || s[i] == 'o' || s[i] == 'u') {c[i] = c[i+1];}else {c[i] = c[i+1]+1;}}if(s[n-1] == 'a' || s[n-1] == 'e' || s[n-1] == 'i' || s[n-1] == 'o' || s[n-1] == 'u') w[n-1] = 1;else w[n-1] = 0;for(int i = n - 2; i >= 0;i--) {if(s[i] != 'a'&s[i] != 'e'& s[i] != 'i' &s[i] != 'o'&s[i] != 'u') {w[i] = w[i+1];}else w[i] = w[i+1]+1;}long long dem = 0;for(int i = 0;i < s.size();i++) {if(s[i] == 'a' || s[i] == 'e' || s[i] == 'i' || s[i] == 'o' || s[i] == 'u') {dem = dem + c[i];}else {dem = dem + w[i];}}cout << dem;return 0;}    

Các câu hỏi tương tự
Thanh Bình
Xem chi tiết
Thanh Bình
Xem chi tiết
Huyên Lê Thị Mỹ
Xem chi tiết
Nguyễn Thị Thanh Xuân
Xem chi tiết
DuaHaupro1
Xem chi tiết
Phan Văn Thái Dương
Xem chi tiết
DuaHaupro1
Xem chi tiết
siêu phẩm zed
Xem chi tiết
Thanh Bình
Xem chi tiết