CHUANHOA - Chuẩn hóa xâu

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

Cho xâu ký tự ~s~ chỉ gồm các ký tự chữ cái latinh và dấu cách, hãy chuẩn hóa xâu ~s~ (tức là xóa hết các dấu cách thừa trong xâu: các dấu cách ở hai đầu, hai từ liên tiếp trong xâu chỉ cách nhau duy nhất một dấu cách).

Input

  • Dòng đầu chứa số nguyên dương ~T~ là số chuỗi;
  • ~T~ dòng tiếp theo, mỗi dòng chứa một chuỗi có độ dài không quá ~1000~ ký tự.

Giới hạn:

  • ~1 ≤ T ≤ 100~.

Output

  • Gồm ~T~ dòng, mỗi dòng là một xâu đã chuẩn hóa.

Sample

Input #1
2
abc   xyz ab
  abc   def   ghi
Output #1
abc xyz ab
abc def ghi

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
    gtmailong  đã bình luận lúc 23, Tháng 4, 2024, 18:25

    c++

    #include <iostream>
    #include <string>
    
    using namespace std;
    
    void solves(string s){
        while (s[0] == ' '){
            s.erase(0,1);
        }
        while (s[s.size()-1] == ' ') {
            s.erase(s.size()-1,1);
        }
        int i = 1;
        while (i < s.size()){
            if (s[i] == ' ' && s[i-1] == ' '){
                s.erase(i,1);
                continue;
            }
            i++;
        }
        cout << s << endl;
    }
    
    int main() {
        int n;
        cin >> n;
        cin.ignore();
        while (n--){
            string s;
            getline(cin,s);
            solves(s);
        }
        return 0;
    }
    

  • 0
    tienphat2101  đã bình luận lúc 9, Tháng 4, 2024, 13:05

    include <bits/stdc++.h>

    using namespace std;
    
    int main() {
    int t;
    cin >> t;
    cin.ignore();
    while (t > 0) {
        string s;
        getline(cin, s);
    
        while (!s.empty() && s[0] == ' ') {
            s.erase(0, 1);
        }
    
        for (int i = 0; i < s.length(); i++) {
            if(s.empty()){
                break;
            }
            if (s[i] == ' ' && s[i + 1] == ' ') {
                s.erase(i, 1);
                i--;
            }
        }
    
        cout << s << endl;
        t--;
    }
    return 0;
    }
    

    Full AC


  • 0
    punpun  đã bình luận lúc 22, Tháng 2, 2024, 14:41

    test 2 là j v ạ


  • -1
    anh122221  đã bình luận lúc 9, Tháng 2, 2024, 7:42 chỉnh sửa

    AC

    int T; cin >> T; cin.ignore(); while(T--) { vector<char> vc; string s; getline(cin, s); for(auto x : s) { if(x != ' ') vc.pushback(x); else vc.pushback('@'); } while(!vc.empty() && vc[0] == '@') { vc.erase(vc.begin()); } while(!vc.empty() && vc[vc.size() - 1] == '@') vc.pop_back(); if(vc[0] != '@') cout << vc[0]; for(int i = 1; i < vc.size(); ++i) { if(vc[i] != '@' and vc[i - 1] == '@') cout << " " << vc[i]; else if(vc[i] != '@') cout << vc[i]; } cout << endl; }


  • -1
    ______  đã bình luận lúc 3, Tháng 2, 2024, 7:08

    include <bits/stdc++.h> using namespace std;

    int main() { int t; cin >> t; cin.ignore(); while (t--) { string s; getline(cin, s); string res = ""; bool flag = false; for (int i = 0; i < s.size(); i++) { if (s[i] == ' ') { if (!flag) { res += ' '; flag = true; } } else { res += s[i]; flag = false; } } if (res.back() == ' ') { res.pop_back(); } if (res.front() == ' ') { res.erase(0, 1); } cout << res << endl; } return 0; }

    Blockquote


  • 0
    welcomedistraction  đã bình luận lúc 23, Tháng 1, 2024, 2:19

    test 3 là gì vậy ạ em nộp mãi ko đc

    include <stdio.h>

    include <math.h>

    include <string.h>

    include <stdlib.h>

    include <ctype.h>

    int main(){ int t; scanf("%d",&t); getchar(); while(t--){ char c[1001]; fgets(c,1001,stdin); char a[100][10]; int n=0; char *token=strtok(c," "); while(token!=NULL){ strcpy(a[n],token); int len=strlen(a[n]); if (len > 0 && a[n][len - 1] == '\n') { a[n][len - 1] = '\0'; len--; } n++; token=strtok(NULL," "); } for (int i=0;i<n;i++){ printf("%s",a[i]); if (i!=n-1) printf(" "); } printf("\n");

    }
    return 0;
    

    }


  • 0
    hohoanghai5042011  đã bình luận lúc 20, Tháng 1, 2024, 6:12

    include <iostream>

    include <string>

    include <sstream>

    using namespace std; string chuanHoaXau(string s) { while (!s.empty() && s.front() == ' ') { s.erase(s.begin()); } while (!s.empty() && s.back() == ' ') { s.pop_back(); } stringstream ss(s); string result, word; while (ss >> word) { result += (result.empty() ? "" : " ") + word; } return result; } int main() { int T; cin >> T; cin.ignore(); for (int i = 0; i < T; ++i) { string s; getline(cin, s); string result = chuanHoaXau(s); cout << result << endl; } return 0; }