代码思路:
就是看赋值语句的右边的变量有没有在之前语句的左边出现过,出现过无论有没有赋值成功都当做是初始化了。
注意右边变量为0的时候直接跳过,且对应的左边变量默认已初始化。开数组的时候要贴合题意100000。
代码实现:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n, k;
int x, y;
int sum = 0;
cin >> n >> k;
int* arr = new int[n]();
for (int i = 0; i < k; i++)
{
cin >> x >> y;
if (arr[y] == 0&&y!=0)
{
sum++;
}
arr[x]++;
}
cout << sum;
}