View Code of Problem 97

#include <iostream>
#include <string>
#include<vector>
#include<algorithm>
using namespace std;
bool isDoubet(string a) {
	bool flag=false;
		if (a[a.size()-1] == 'e' && a[a.size()-2] == 'x'&& a[a.size()-3] == 'e'&& a[a.size()-4] == '.') {
			flag = true;
		}
		return flag;
}
string cutString(string a) {
	return a.substr(0, a.size()-4);
}
bool com(string a, string b) {
	if (a < b)return true;
	else return false;
}
int main() {
	int n;
	while (cin >> n && n != 0) {
		string d[1000];
		vector <string>re;
		for (int i = 0; i < n; i++)
		{
			cin >> d[i];
		}
		for (int i = 0; i < n; i++)
		{
			//如果疑似病毒
			if (isDoubet(d[i])) {
				for (int j = 0; j < n; j++)
				{
					if (cutString(d[i]) == d[j]) {
						re.push_back(d[i]);
						break;
					}
				}
				
			}
		}
		sort(re.begin(), re.end(), com);
		for (int i = 0; i < re.size(); i++)
		{
			cout << re[i] << endl;
		}
		re.clear();
	}
}

Double click to view unformatted code.


Back to problem 97