概要
n チームからなるフットボールのリーグがある。
各チームのユニフォームはホーム用とビジター用があり、色が異なる。
例外的に、ホスト側のチームのホームユニフォームが相手のビジターユニフォームと同じ色だった場合、ホスト側はビジターユニフォームを用いる。
リーグの試合の内、このような状況になる試合の数を求めよ。
解法
全ての試合のチームの組み合わせについて、それぞれのチームのユニフォームの色を確かめることで解けます。
コード
typedef vector<int> VI; #define REP( i, m, n ) for ( int i = (int)( m ); i < (int)( n ); ++i ) int main() { cin.tie( 0 ); ios::sync_with_stdio( false ); int n; cin >> n; VI hs( n ), gs( n ); REP( i, 0, n ) { cin >> hs[i] >> gs[i]; } int res = 0; REP( i, 0, n ) { REP( j, 0, n ) { if ( i == j ) { continue; } res += hs[i] == gs[j]; } } cout << res << endl; return 0; }