#38659:


115205@tchcvs.tw (114級115205資2班.張楷昊)

學校 : 國立臺中高級家事商業職業學校
編號 : 233256
來源 : [36.235.236.107]
最後登入時間 :
2024-10-19 19:10:20
c291. APCS 2017-0304-2小群體 -- 2017年3月APCS | From: [111.252.110.135] | 發表日期 : 2023-12-13 15:34

不用dfs解 

=====

a=int(input())
b=[ i for i in range(a)]
c=list(map(int,input().split()))
d=list(zip(b,c))
d=list(map(list,d))
#print(d)
"""
[(0, 4), (1, 7), (2, 2), (3, 9),
(4, 6), (5, 0), (6, 8), (7, 1), (8, 5), (9, 3)]
"""
ans=0
for i in d:
    if i[-1]==-1:#
        continue
    t=[]
    tt=-1
    t.append(i)
    tt=i[1]
    while 1:
        if i[0]==i[1]:
            #print('if' ,d[i[0]])
            d[i[0]].append(-1)
#            print('if' ,d[i[0]])
            break
#        print(t)
        tt=d[tt][1]
        t.append(d[tt])
        if t[0][0]==t[-1][1]:
#            print(t)
            for i in t:
                d[i[1]].append(-1)
                d[i[0]].append(-1)
#            print('d',d,"ans",ans)
            break
    ans+=1
#    print('------')
print(ans)

 
ZeroJudge Forum