阿泰有几个朋友
五个人的朋友关系:阿岚和小满、阿岚和阿泰、小满和阿泰、阿泰和南风,北辰谁也不认识。运行下面这段程序:
#include <iostream>
#include <string>
#include <utility>
#include <vector>
using namespace std;
// 五个人:0 阿岚、1 小满、2 阿泰、3 南风、4 北辰
const vector<string> NAMES = {"阿岚", "小满", "阿泰", "南风", "北辰"};
// 四段关系(无向):阿岚-小满、阿岚-阿泰、小满-阿泰、阿泰-南风
const vector<pair<int, int>> EDGES = {{0, 1}, {0, 2}, {1, 2}, {2, 3}};
int id_of(const string& name) {
for (int i = 0; i < (int)NAMES.size(); i++) {
if (NAMES[i] == name) return i;
}
return -1;
}
int main() {
int n = 0;
for (auto [a, b] : EDGES) {
if (a == id_of("阿泰") || b == id_of("阿泰")) n++;
}
cout << n << endl;
}
(本题用 g++ -std=c++17 -O0 编译。)
全部评论