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.



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

    test 2 là j v ạ


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

    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; }