牛客练习赛19 -E-托米的饮料

时间:2021-07-20 00:05:03

题目描述

好了,现在是小托米的故事啦~~~
可爱的小托米得到了n瓶饮料.
但他不小心把开盖的工具弄丢了,所以他只能利用饮料瓶来开盖.
已知第i个瓶子的品牌为a i,且其能打开b i品牌的瓶子.
问有几瓶饮料托米无法喝到.
被用于打开饮料瓶的瓶子不一定需要被打开.
一个瓶子不能打开其本身.

输入描述:

第一行一个整数n,表示饮料的瓶数.
接下来n行,每行两个整数a,b

输出描述:

输出一行一个整数,表示小托米无法喝到的饮料瓶数.
示例1

输入

4
1 1
2 2
3 3
4 4

输出

4
示例2

输入

4
1 2
2 3
3 4
4 1

输出

0

备注:

1≤n≤100
1≤a,b≤ 1000
解题思路:开瓶盖其实只要满足第i瓶的品牌ai等于第j瓶的品牌aj能打开的品牌bj,即ai=bj且(i!=j),托米就能喝到第i瓶饮料,计数器m就加1,最后n-m即为托米不能喝到的饮料数量。
AC代码:
 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 int main(){
 4     int n,m=0,a[1005],b[1005];
 5     cin>>n;
 6     for(int i=0;i<n;++i)cin>>a[i]>>b[i];
 7     for(int i=0;i<n;++i){
 8         for(int j=0;j<n;++j)
 9             if(a[i]==b[j]&&i!=j){m++;break;}
10     }
11     cout<<n-m<<endl;
12     return 0;
13 }