Pagini recente » Cod sursa (job #2066249) | Cod sursa (job #3181792) | Cod sursa (job #1938461) | Cod sursa (job #218761) | Cod sursa (job #2775863)
#include <iostream>
#include <chrono>
#include <fstream>
#include <string>
#define DEBUG 0
std::ifstream cin("../text.in");
std::ofstream cout("../text.out");
bool is_letter(char t) {
return (t >= 'a' && t <= 'z') || (t >= 'A' && t <= 'Z');
}
void solve() {
std::string input_string;
std::getline(cin, input_string);
int words = 0;
int letters = 0;
bool new_word = true;
for (auto t: input_string) {
int letter_count = is_letter(t);
letters += letter_count;
if (!letter_count) { // daca nu e litera
new_word = true; // ne pregatim sa incepem cuvant nou
} else if (new_word) { // data e cuvant nou
++words; // crestem cuvintele
new_word = false; // si tinem minte
}
}
if (DEBUG) {
cout << letters << " " << words << " ";
}
if (words == 0) {
cout << letters;
} else
cout << letters / words;
}
int main() {
auto start = std::chrono::high_resolution_clock::now();
solve();
auto stop = std::chrono::high_resolution_clock::now();
auto duration = std::chrono::duration_cast<std::chrono::milliseconds>(stop - start);
std::cout << std::endl << "[time]:" << duration.count() << std::endl;
return 0;
}