torus711 のアレ

主に競技プログラミングの問題について書きます

Codeforces 164, A : Games

概要

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;
}