Monday, December 14, 2015

UVa 11362 - Phone List

// UVa 11362 - Phone List
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;

int main() {
	int cases;
	cin >> cases;
	for (; cases > 0; cases--) {
		int n;
		cin >> n;
		vector<string> v;
		for (int i = 0; i < n; i++) {
			string st;
			cin >> st;
			v.push_back(st);
		}
		sort(v.begin(), v.end());

		string sol = "YES";
		for (int i = 0; i < n - 1; i++) {
			if (v[i].length() <= v[i + 1].length()) {
				bool valid = false;
				for (int j = 0; j < v[i].length(); j++)
					if (v[i][j] != v[i + 1][j]) {
						valid = true;
						break;
					}
				if (!valid) {
					sol = "NO";
					break;
				}
			}
		}
		cout << sol << endl;
	}
	return 0;
}

No comments:

Post a Comment