View Code of Problem 97

#include<iostream>
#include<vector>
using namespace std;
int main() {
	int n;
	while(cin>>n) {
		if(n==0) break;
		string file[n], str;
		for(int i=0; i<n; i++) cin>>file[i];
		vector<string> exe;//exe文件 
		vector<string> virus;//病毒 
		//将普通文件与exe文件分开 
		for(int i=0; i<n; i++) {
			str="";
			for(int j=file[i].length()-1; j>=file[i].length()-4; j--) str+=file[i][j];
			if(str=="exe.") {//exe文件 
				str="";
				for(int j=0; j<file[i].length()-4; j++) str+=file[i][j];
				exe.push_back(str);
				file[i]="";
			} 
		}
		for(int i=0; i<exe.size(); i++) {
			for(int j=0; j<n; j++) {
				if(file[j]!=""&&exe[i]==file[j]) {//是病毒 
					exe[i]+=".exe";//给病毒加.exe后缀 
					virus.push_back(exe[i]);
				}
			}
		}
		//给病毒排序
		if(virus.size()==0) continue;
		for(int i=0; i<virus.size()-1; i++) {
			for(int j=i+1; j<virus.size(); j++) {
				if(virus[i]>virus[j]) swap(virus[i],virus[j]);
			}
		}
		for(int i=0; i<virus.size(); i++) cout<<virus[i]<<endl;
	}
} 

Double click to view unformatted code.


Back to problem 97