1.题目详情:
2.思路:
1.观察题目中对于变量和常量范围的界定值,可以得出在当赋值语句的右边是0时,0作为常量赋值给语句左边的变量。
2.可以使用一个一维数组用来保存变量是否出现过。因为0是常量,可以默认他为一个变量且这个变量已经出现过。
3.在每一次输入赋值语句的左边值和右边值后,直接判断右边的值在数组中是否为false。若为false,则对定义的用来计数的变量值+1。注意:无论为true还是false,都要对赋值语句的右边值在数组中赋值为true(题目中明确说明,注意审题!)
Java语言(100分)
import java.util.HashMap;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
HashMap<Integer, Integer> map = new HashMap<>();
int n = sc.nextInt();
int k = sc.nextInt();
int x,y,count = 0;
boolean[] arr = new boolean[n];
arr[0] = true;
for (int i = 1; i <= k; i++) {
x = sc.nextInt();
y = sc.nextInt();
if(arr[y] == false) count++;
arr[x] = true;
}
System.out.println(count);
}
}