DEMTU - Bé học tiếng Anh

Xem dạng PDF

Gửi bài giải

Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C#, C++, Go, Java, Pascal, Perl, PHP, Python, Ruby, Rust, Scratch, Swift

Bé Na rất thích học tiếng Anh. Một hôm, trong lúc đọc một đoạn văn tiếng Anh, Bé Na muốn biết đoạn văn mà mình phải đọc có bao nhiêu từ, bạn hãy lập một chương trình trình giúp bạn Na làm việc này nhé.

Cho một đoạn văn bản là một xâu ký tự chỉ gồm các chữ cái trong bảng chữ cái la-tinh (‘A’…’Z’, ‘a’…’z’) và các dấu cách (‘ ‘). Mỗi từ là một dãy chữ cái liên tiếp không chứa dấu cách. Hai từ được phân cách bởi một hoặc nhiều dấu cách. Hãy đếm xem đoạn văn đó có bao nhiêu từ.

Input

  • Một xâu ký tự chỉ chứa các ký tự chữ cái la-tinh (‘A’…’Z’, ‘a’…’z’) và dấu cách (ghi trên một dòng).

Giới hạn:

  • ~40\%~ số test (tương ứng với ~40\%~ số điểm của bài toán) có dữ liệu vào là xâu có không quá ~255~ ký tự và các từ được phân cách nhau bởi duy nhất một dấu cách;
  • ~40\%~ số test khác (tương ứng với ~40\%~ số điểm của bài toán) có dữ liệu vào là xâu có không quá ~255~ ký tự và các từ được phân cách nhau bởi ít nhất một dấu cách;
  • ~20\%~ số test còn lại (tương ứng với ~20\%~ số điểm của bài toán) có dữ liệu vào là xâu có không quá ~10^5~ ký tự và các từ được phân cách nhau bởi ít nhất một dấu cách.

Output

  • Một số nguyên duy nhất là số từ trong xâu ký tự đã cho.

Sample

Input #1
Thank you very much for your letter which arrived a few days ago
Output #1
13
Input #2
Thank    you    very    much
Output #2
4

Problem source: Chuyên Sơn La Online Judge


Bình luận

Hãy đọc nội quy trước khi bình luận.



  • 0
    KienHungg  đã bình luận lúc 11, Tháng 5, 2024, 11:06

    code C++ full AC cho các bạn tham khảo ( các bạn dùng stringstream nhé )

    include<bits/stdc++.h>

    using namespace std;

    int main() { string s; int cnt = 0; getline(cin, s); stringstream ss(s); while ( ss >> s ){ cnt++; } cout << cnt; }


    • 0
      lehongduc  đã bình luận lúc 15, Tháng 5, 2024, 13:25

      xét từng kí tự chạy nhanh hơn ak:v

      include<bits/stdc++.h> define ll long long define str string using namespace std; int main() { ll dem; str a; dem=0; getline(cin,a); if(a[0]!=' ') dem++; for(ll j=1;j<a.length();j++) { if(a[j]!=' '&&a[j-1]==' ') dem++; } cout<<dem<


  • 0
    kieuly123  đã bình luận lúc 14, Tháng 4, 2024, 14:04

    test 14 là gì vậy ạ


  • 0
    Binary  đã bình luận lúc 27, Tháng 2, 2024, 1:49

    sao mình code thì dev c với vscode không ra kết quả nhưng khi nộp lại AC nhỉ?

    include <bits/stdc++.h>

    using namespace std;

    string s;

    void solve(){ int cnt = 0;

    while (cin >> s)
    {
        cnt ++;
    }
    
    cout << cnt;
    

    }

    int main(){ ios::syncwithstdio(false), cin.tie(NULL), cout.tie(NULL);

    solve();
    
    return 0;
    

    }


    • 0
      lenamlong  đã bình luận lúc 5, Tháng 5, 2024, 3:44

      bạn phải Ctrl+C để dừng việc nhập lại vì bạn cin>>s


  • 0
    KhoiMinh  đã bình luận lúc 14, Tháng 2, 2024, 12:17

    s=list(input().split())

    print(len(s))


  • 0
    toan0123  đã bình luận lúc 5, Tháng 2, 2024, 10:33

    include <iostream>

    include <string>

    include <sstream>

    include <vector>

    using namespace std;

    void solve() { string s; getline(cin, s); ll dem=0; stringstream ss(s); string word; while (ss >> word) // doc tung tu co trong s { ++dem; }
    cout<<dem;

    }

    int main() { solve(); cout<<endl; return 0; }


  • 0
    quang16  đã bình luận lúc 5, Tháng 2, 2024, 3:11

    include <stdio.h>

    include <string.h>

    int main () { char str[100000]; int count = 0; fgets (str, sizeof (str), stdin); for (int i = 0; i < strlen (str); i++) { if ((str[i] != ' ' && str[i + 1] == ' ') || (str[i] != ' ' && str[i + 1] == '\0')) { count++; } } printf ("%d", count); return 0; } mn cho em hỏi code này sai ở đâu vậy ạ T_T


  • 6
    thh  đã bình luận lúc 21, Tháng 1, 2024, 12:30

    Ta có mỗi lần cin được 1 chuỗi gặp dấu cách là dừng -> Sử dụng while(cin >> s) rồi cộng biến đếm lên là ra kết quả số từ

    (Vì mỗi lần ta chỉ nhập vào được 1 từ)

    Code C++ cho ai cần nè, mong up vote cho mik nếu các bạn thấy có ích nha

    include <bits/stdc++.h>

    define int long long

    using namespace std;

    int res = 0; string s; void solve() {

    while(cin >> s)
        ++res;
    cout << res;
    

    } main() {

    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);cout.tie(nullptr);
    
    solve();
    

    }


  • 0
    DKN13  đã bình luận lúc 13, Tháng 1, 2024, 12:34

    Be hoc tieng anh

    A = [str(i) for i in input().split()]

    print(len(A))


  • -1
    ngusidan123  đã bình luận lúc 11, Tháng 1, 2024, 4:34

    include <bits/stdc++.h>

    using namespace std;

    define ll long long

    define pi acos(-1)

    int main() { iosbase::syncwith_stdio(0); cin.tie(0);cout.tie(); string s;

    getline(cin , s); ll dem=0; if ((s[0]!=' ') && (s.size()==1)) { cout << 1; return 0; } for (int i =0 ;i<((s.size()-1));i=i+1) { if(s[i]==' ') { if (s[i+1]!= ' ') { dem=dem+1; } } }

    if (s[0]== ' ') { cout << dem; } else cout << dem +1; }


  • 0
    Tuyhn  đã bình luận lúc 30, Tháng 12, 2023, 10:26

    cho em hỏi test 13 14 15 là j vậy ạ


  • -2
    LiuChi_3007  đã bình luận lúc 20, Tháng 12, 2023, 13:40

    Hỗ trợ mng nhaa!

    include<bits/stdc++.h>

    using namespace std; int main(){ string s; getline(cin,s); string tmp; stringstream ss(s); int cnt = 0; while(ss>>tmp){ cnt++; } cout << cnt; }


  • 0
    letanphat1214  đã bình luận lúc 5, Tháng 12, 2023, 16:19

    include <iostream>

    include <string>

    include <sstream>

    using namespace std; int countWords(const string& text) { istringstream iss(text); string word; int wordCount = 0; while (iss >> word) { ++wordCount; } return wordCount; } int main() { string paragraph; getline(cin, paragraph); int numberOfWords = countWords(paragraph); cout << numberOfWords << endl; return 0; }


  • -1
    vyoz  đã bình luận lúc 25, Tháng 11, 2023, 3:25

    include<stdio.h>

    include<string.h>

    include<ctype.h>

    int main(){ char s[10000]; fgets(s,sizeof(s), stdin);

    char x[] = " ";
    char *token;
    token = strtok(s,x);
    int count = 0;
    
    while(token != NULL){
        for(int i = 0; i&lt;strlen(token); i++){
            if(isalpha(token[i])) {
                count++;
                break;
            }
    
        }
    
        token = strtok(NULL,x);
    }
    printf("%d", count);
    

    }

    mọi người cho e hỏi e cần làm gì nữa ạ bài của e chỉ qua dc test12 đến test13 là tạch. em cảm ơn.


    • 0
      hieugiangho2015  đã bình luận lúc 11, Tháng 2, 2024, 14:28

      bản chất strtok rồi thằng token là nó tách từng từ trong xâu ra rồi, nên chỉ cần lặp rồi tăng count thôi, khôgn cần check là chữ cái

      include <bits/stdc++.h>

      using namespace std;

      int main() { iosbase::syncwith_stdio(false); cin.tie(NULL); char a[1000000]; long long cnt = 0; cin.getline(a, 1000000); char *token = strtok(a," "); while(token != NULL){ cnt++; token = strtok(NULL, " "); } cout<<cnt; return 0; }


  • -2
    g  đã bình luận lúc 21, Tháng 11, 2023, 3:56

    include <iostream>

    include <sstream>

    include <vector>

    include <string>

    using namespace std;

    int main(){ string s; getline (cin, s); stringstream ss(s); string tmp; vector <string> v; while (ss >> tmp) { v.push_back(tmp); } cout << v.size(); return 0; }


  • 0
    codega  đã bình luận lúc 23, Tháng 10, 2023, 17:26

    stringstream là qua :v


    • 0
      thh  đã bình luận lúc 21, Tháng 1, 2024, 12:28

      include <bits/stdc++.h>

      define int long long

      using namespace std;

      int res = 0; string s; void solve() {

      while(cin >> s)
          ++res;
      cout << res;
      

      } main() {

      ios_base::sync_with_stdio(false);
      cin.tie(nullptr);cout.tie(nullptr);
      
      solve();
      

      }


      • 0
        hieugiangho2015  đã bình luận lúc 11, Tháng 2, 2024, 14:29

        vãi bều bịp :v


  • -1
    Iamnotsmart  đã bình luận lúc 22, Tháng 8, 2023, 15:46

    My code: print(len(input().split()))