[문제 링크] : https://www.acmicpc.net/problem/5052
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main(){
int T, N;
cin >> T;
string S;
while(T--){
cin >> N;
vector<string> V;
for(int i=0; i<N; i++){
cin >> S;
V.push_back(S);
}
sort(V.begin(), V.end());
bool f = true;
for(int i=0; i<V.size()-1; i++){
string cur = V[i];
string next = V[i + 1];
f = true;
if(cur.length() > next.length()) continue;
if(cur == next.substr(0, cur.length())){
f = false;
break;
}
}
if(f == false){
cout << "NO\n";
}
else{
cout << "YES\n";
}
}
return 0;
}
'알고리즘' 카테고리의 다른 글
[알고리즘] 백준 8437 - Julka (C++) (0) | 2024.09.14 |
---|---|
[알고리즘] 백준 14697 - 방 배정하기 (C++) (0) | 2024.09.13 |
[알고리즘] 백준 4195 - 친구 네트워크 (C++) (0) | 2024.09.11 |
[알고리즘] 백준 20006 - 랭킹전 대기열 (C++) (0) | 2024.09.10 |
[알고리즘] 백준 30802 - 웰컴 키트 (C++) (0) | 2024.09.09 |