1. 程式人生 > >Newcoder 111 E.托米的飲料(水~)

Newcoder 111 E.托米的飲料(水~)

Description

可愛的小托米得到了 n n 瓶飲料.

但他不小心把開蓋的工具弄丟了,所以他只能利用飲料瓶來開蓋.

已知第 i i 個瓶子的品牌為 a

i a_i ,且其能開啟 b i b_i 品牌的瓶子.

問有幾瓶飲料托米無法喝到.

被用於開啟飲料瓶的瓶子不一定需要被開啟.

一個瓶子不能開啟其本身.

Input

第一行一個整數 n n ,表示飲料的瓶數.
接下來 n n 行,每行兩個整數 a i

, b i a_i,b_i .

( 1 n 100 , 1 a i , b i 1000 ) (1\le n\le 100,1\le a_i,b_i\le 1000)

Output

輸出一行一個整數,表示小托米無法喝到的飲料瓶數.

Sample Input

4
1 1
2 2
3 3
4 4

Sample Output

4

Solution

統計每種瓶子出現的次數,對於第 i i 個瓶子,如果存在第 a i a_i 種瓶子(如果 b i = a i b_i=a_i 則需要有兩個 a i a_i 種瓶子)則該瓶子可以被開啟,以此統計即可

Code

#include<cstdio>
#include<ctime>
using namespace std;
int n,a[105],b[105],vis[1005],ans=0;
int main()
{
	scanf("%d",&n);
	for(int i=1;i<=n;i++)
	{
		scanf("%d%d",&a[i],&b[i]);
		vis[b[i]]++;
	}
	for(int i=1;i<=n;i++)
		if(vis[a[i]])
			if(a[i]!=b[i]||vis[a[i]]>1)ans++;
	printf("%d\n",n-ans);
	return 0;
}