Codeforces #187 Div2 A "Sereja and Bottles"
問題
http://codeforces.com/contest/315/problem/A
訳
セレジャ(発音あってる?)は友達とピクニックに来ていた。彼らはn本のソーダ瓶を持ってきていた。セレジャは栓抜きを忘れてしまったので、ちょっと違う方法でフタを開ける事にした。
セレジャはi番目のソーダ瓶のメーカー(コカコーラとかね)はa_iである事の他、それをb_iのメーカーのソーダ瓶を開ける事に使えることを知っていた。1つの瓶を使って複数の瓶を開ける事が出来るし、開けるために使う瓶はフタが開いていても閉まっていてもよい。
これらの情報より、セレジャは絶対に開けられない瓶がいくつあるか知りたい。その本数を出力せよ。
制約
1 <= n <= 100
1 <= a_i, b_i <= 1000
考えた事
各iについて、a_i == b_j ( i != j )となるものがあるかどうか
事後
iはb_iで開けられるのか・・・
iはb_iを開けられるのか・・・
どっちなんーだいっ!
ソースコード
int main() { int n; int a[110] = {0}, b[110] = {0}; cin >> n; for( int i = 0; i < n; i++ ){ cin >> a[i] >> b[i]; } int ans = 0; for( int i = 0; i < n; i++ ){ int need = a[i]; bool open = false; for( int j = 0; j < n; j++ ){ if( i == j ) continue; int brand = b[j]; if( need == brand ){ open = true; break; } } if( !open ) ans++; } cout << ans << endl; }