Sereja and Bottles-水题有点坑爹

CodeForces - 315A
Time Limit: 2000MS   Memory Limit: 262144KB   64bit IO Format: %I64d & %I64u

 Status

Description

Sereja and his friends went to a picnic. The guys had n soda bottles just for it. Sereja forgot the bottle opener as usual, so the guys had to come up with another way to open bottles.

Sereja knows that the i-th bottle is from brand ai, besides, you can use it to open other bottles of brand bi. You can use one bottle to open multiple other bottles. Sereja can open bottle with opened bottle or closed bottle.

Knowing this, Sereja wants to find out the number of bottles they've got that they won't be able to open in any way. Help him and find this number.

Input

The first line contains integer n(1 ≤ n ≤ 100) — the number of bottles. The next n lines contain the bottles' description. The i-th line contains two integers ai, bi(1 ≤ ai, bi ≤ 1000)— the description of the i-th bottle.

Output

In a single line print a single integer — the answer to the problem.

Sample Input

Input
4
1 1
2 2
3 3
4 4
Output
4
Input
4
1 2
2 3
3 4
4 1
Output

0

理解题意就可以

/*
Author: 2486
Memory: 812 KB		Time: 60 MS
Language: GNU G++ 4.9.2		Result: Accepted
Public:		No Yes
*/
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
const int maxn=1000+5;
bool vd[maxn][maxn];
struct fs{
    int a,b;
}fss[maxn];
int main() {
    int b,n;
    scanf("%d",&n);
    memset(vd,false,sizeof(vd));
    for(int i=1; i<=n; i++) {
        scanf("%d%d",&fss[i].a,&fss[i].b);
        vd[fss[i].b][fss[i].a]=true;
    }
    bool flag=true;
    int cnt=0;
    for(int i=1; i<=n; i++) {
        flag=false;
        for(int j=1; j<=n; j++) {
            if(i==j)continue;
            if(fss[i].a==fss[j].b) {
                flag=true;
                break;
            }
        }
        if(flag)cnt++;
    }
    printf("%d
",n-cnt);
    return 0;
}


原文地址:https://www.cnblogs.com/zhchoutai/p/6956746.html