算法训练营 入门篇 STL应用 vector HDU 3527
这是算法训练营这本书 STL应用的第一个点 使用vector
我们看看cppference这个站点对vector的介绍
https://en.cppreference.com/w/cpp/container/vector
常用的函数如下
| operator= |
| operator[] |
| front |
| back |
| Iterators |
| begin |
| end |
| rbegin |
| rend |
| empty |
| size |
| reserve |
| clear |
| insert |
| erase |
| push_back |
| pop_back |
| resize |
| swap |
HDU 3527 https://vjudge.net/problem/HDU-3527
题目的大意就是有三份名单,一份是所有旅客,一份是A间谍名单,一份是B间谍名单。
要求 我们找出现在A名单上但是未出现在B名单上的的旅客间谍(也就是同时还出现在第一份名单上)。
输入格式
第一行三个数字 空格隔开 表示三份名单的长度 A B C
第二行有A个名字 空格隔开
第三行有B个名字 空格隔开
第四行有C个名字 空格隔开
输出格式
输出一样 输出答案名字 空格隔开
##Sample Input
8 4 3
Zhao Qian Sun Li Zhou Wu Zheng Wang
Zhao Qian Sun Li
Zhao Zhou Zheng
2 2 2
Zhao Qian
Zhao Qian
Zhao Qian
##Sample Output
Qian Sun Li
No enemy spy
解答
使用vector接受输入,展示下vector的用法
// 1111111.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
using namespace std;
/*
Sample Input
8 4 3
Zhao Qian Sun Li Zhou Wu Zheng Wang
Zhao Qian Sun Li
Zhao Zhou Zheng
2 2 2
Zhao Qian
Zhao Qian
Zhao Qian
Sample Output
Qian Sun Li
No enemy spy
*/
int n, a, b;
int main()
{
while (cin >> n >> a >> b) {
vector<string> vis;
vector<string> A;
vector<string> B;
string t;
for (int i = 0; i < n; i++) {
cin >> t;
vis.push_back(t);
}
for (int i = 0; i < a; i++) {
cin >> t;
A.push_back(t);
}
for (int i = 0; i < b; i++) {
cin >> t;
B.push_back(t);
}
vector<string> ans;
//依次查找A中的名单 ,如果在vis中且不在B中,那么就是答案之一
for (auto& e : A) {
if (find(vis.begin(), vis.end(), e) !=vis.end() &&
find(B.begin(),B.end(),e) == B.end())
{
ans.push_back(e);
}
}
if(!ans.empty()){
for (int i = 0; i < ans.size(); i++) {
cout << ans[i];
if (i != ans.size() - 1) {
cout << " ";
}
}
}
else {
cout << "No enemy spy";
}
cout << endl;
}
}
作 者: itdef
欢迎转帖 请保持文本完整并注明出处
技术博客 http://www.cnblogs.com/itdef/
B站算法视频题解
https://space.bilibili.com/18508846
qq 151435887
gitee https://gitee.com/def/
欢迎c c++ 算法爱好者 windows驱动爱好者 服务器程序员沟通交流
如果觉得不错,欢迎点赞,你的鼓励就是我的动力
欢迎转帖 请保持文本完整并注明出处
技术博客 http://www.cnblogs.com/itdef/
B站算法视频题解
https://space.bilibili.com/18508846
qq 151435887
gitee https://gitee.com/def/
欢迎c c++ 算法爱好者 windows驱动爱好者 服务器程序员沟通交流
如果觉得不错,欢迎点赞,你的鼓励就是我的动力