DEMTU - Bé học tiếng Anh

View as PDF

Submit solution

Points: 1.00 (partial)
Time limit: 1.0s
Memory limit: 256M

Author:
Problem type
Allowed languages
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


Comments

Please read the guidelines before commenting.



  • 0
    KienHungg  commented on May 11, 2024, 11:06 a.m.

    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  commented on May 15, 2024, 1:25 p.m.

      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  commented on April 14, 2024, 2:04 p.m.

    test 14 là gì vậy ạ


  • 0
    Binary  commented on Feb. 27, 2024, 1:49 a.m.

    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  commented on May 5, 2024, 3:44 a.m.

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


  • 0
    KhoiMinh  commented on Feb. 14, 2024, 12:17 p.m.

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

    print(len(s))


  • 0
    toan0123  commented on Feb. 5, 2024, 10:33 a.m.

    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  commented on Feb. 5, 2024, 3:11 a.m.

    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  commented on Jan. 21, 2024, 12:30 p.m.

    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  commented on Jan. 13, 2024, 12:34 p.m.

    Be hoc tieng anh

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

    print(len(A))


  • -1
    ngusidan123  commented on Jan. 11, 2024, 4:34 a.m.

    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  commented on Dec. 30, 2023, 10:26 a.m.

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


  • -2
    LiuChi_3007  commented on Dec. 20, 2023, 1:40 p.m.

    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  commented on Dec. 5, 2023, 4:19 p.m.

    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  commented on Nov. 25, 2023, 3:25 a.m.

    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  commented on Feb. 11, 2024, 2:28 p.m.

      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  commented on Nov. 21, 2023, 3:56 a.m.

    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  commented on Oct. 23, 2023, 5:26 p.m.

    stringstream là qua :v


    • 0
      thh  commented on Jan. 21, 2024, 12:28 p.m.

      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();
      

      }


  • -1
    Iamnotsmart  commented on Aug. 22, 2023, 3:46 p.m.

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