华为9.11第三题代码
// 航班.cpp : 定义控制台应用程序的入口点。
//
//#include "stdafx.h"
#include<iostream>
#include<vector>
#include<string>
#include<algorithm>
#include<list>
#include<map>
#include<set>
#include<unordered_set>
using namespace std;
int main()
{
int n;
cin >> n;
map<string, map<string, string>> hangban;
//set<hangban> vhangban;
for (int i = 0; i < n; i++)
{
string s;
cin >> s;
int n = s.find(',');
string name = s.substr(0, n);
int m = s.find(',', n + 1);
string wz = s.substr(n + 1, m - n - 1);
string username = s.substr(m + 1, s.size() - 1);
hangban[name].insert(pair<string,string>(wz, username));
}
int K;
cin >> K;
for (int i = 0; i < K; i++)
{
string s;
cin >> s;
int n=s.find(',');
string hangbanid = s.substr(0, n);
int m = s.find(',',n+1);
string hangbanwz = s.substr(n + 1, m - n - 1);
int k = s.find(',',m+1);
string newhangbanid = s.substr(m+1, k-m-1);
string newhangbanwz = s.substr(k+ 1);
string uname = hangban[hangbanid][hangbanwz];
hangban[hangbanid].erase(hangban[hangbanid].find(hangbanwz));
hangban[newhangbanid][newhangbanwz] = uname;
}
for (map<string, map<string, string>>::iterator it = hangban.begin(); it != hangban.end(); it++)
{
for (map<string, string> ::iterator iit = it->second.begin(); iit != it->second.end(); iit++)
{
cout << it->first << "," << iit->first << "," << iit->second<<endl;
}
}
system("pause");
return 0;
}
#笔试题目#
查看3道真题和解析