ログインしてください。
公式
F - 三角関係 / Love Triangle 解説
by
F - 三角関係 / Love Triangle 解説
by
kyopro_friends
\(i\) を固定したとき、もし与えられた条件全てを満たすような組 \((i,j,k)\) が存在すれば、3つ目の条件から \(j=A_i\) 、4つ目の条件から \(k=B_i\) に限ります。よって、\((i,A_i,B_i)\) が全ての条件を満たしているかどうかを各 \(i\) について調べれば十分です。
実装例(C++)
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
cin >> n;
vector<int>a(n+1),b(n+1);
for(int i=1; i<=n; i++)cin >> a[i] >> b[i];
int ans=0;
for(int i=1; i<=n; i++){
int j=a[i], k=b[i];
if(i<j && b[j]==k)ans++;
}
cout << ans << endl;
}
実装例(Python)
N=int(input())
A=[0]*(N+1)
B=[0]*(N+1)
for i in range(1,N+1):
a,b=map(int,input().split())
A[i]=a
B[i]=b
ans=0
for i in range(1,N+1):
j=A[i]
k=B[i]
if i<j and B[j]==k:
ans+=1
print(ans)
投稿日時:
最終更新:
