1 #include <iostream>
2 #include <vector>
3 int main() {
4 int x{}, y{};
5 std::cin >> x >> y;//读入第一行
6 std::vector<std::vector<int>> k(y,std::vector<int>(2,0));//二维数组
7 std::vector<int> n(x+1);//设置判断数组n
8
9 int sum{};
10 y--;//k数组索引
11 while (y >= 0) {
12 std::cin >> k[y][0] >> k[y][1];//读入两个数
13
14 if (k[y][1] == 0||n[k[y][1]]==1) {//如果右值等于0或有值判断为一则为有效赋值语句
15 n[k[y][0]]=1;//左值设为一
16 }
17 else {
18 n[k[y][0]] = 1;//无效赋值语句将左值改为一,意为左值已赋值并记录sum
19 sum++;
20 }
21 y--;
22 }
23 std::cout << sum;
24 }
题目链接