牛客网 - >A->B->C-

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lzyws739307453/article/details/85472936

题目链接:https://ac.nowcoder.com/acm/contest/322/D
时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 32768K,其他语言65536K
64bit IO Format: %lld

题目描述

一天小A在金色的银杏树下向他喜欢的小姐姐B表白了,“对不起,我喜欢的是C”,B这样说道,小A尴尬的笑了笑转身离开了。他心里默默说着“对不起,C喜欢我。”(233333333)
Love triangle被定义为:如果A喜欢B,B喜欢C,C喜欢A则称为Love triangle。现在让你寻找有没有Love triangle。

输入描述:

第一行一个正整数N(n<=5000),第二行n个数X1,X2,X3……Xn代表i喜欢Xi。

输出描述:

如果存在Love triangle则输出YES,没有则输出NO。

输入

5
2 4 5 1 3

输出

YES

解题思路

签到题,判断三个人能不能形成一个环。

#include <iostream>
using namespace std;
int main()
{
    int n, temp = 0, f[5010];
    scanf("%d", &n);
    for (int i = 1; i <= n; i++)
        scanf("%d", &f[i]);
    for (int i = 1; i <= n; i++)
    {
        if (f[f[f[i]]] == i)
        {
            temp = 1;
            break;
        }
    }
    if (temp)
        puts("YES");
    else puts("NO");
    return 0;
}

猜你喜欢

转载自blog.csdn.net/lzyws739307453/article/details/85472936