题目描述
好了,现在是小托米的故事啦~~~
可爱的小托米得到了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 }