标签:std,202203,int,sum,左值,C++,vector,CSP,赋值 From: https://www.cnblogs.com/n00b/p/16885528.html
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 }