分析
- 记录:用数组
a[n+1]
记录,变量是否被初始化:
a. 每次输入一行命令,就需要记录当前在左边的变量a[x]=1
- 判断:是否本句是否被初始化了:
a. 如果右边变量为常数0
b. 如果右边变量前面被初始化过,即a[y]=1
代码
#include<iostream>
#include<algorithm>
#include<math.h>
#define N 100000+2
using namespace std;
int n,k;
int a[N];
int main() {
scanf("%d%d",&n,&k);//有k个语句
int sum=0,x,y;
for(int i=0; i<k; i++) {
cin>>x>>y;
if(a[y]==1||y==0){
}
else
sum++;
a[x]=1;
}
cout<<sum;
}