190222025-11-17 20:02:44birozsÜltetéspython3Időlimit túllépés 15/75690ms4344 KiB
N = int(input())
T = list(map(int,input().split()))
E = []
for i in range(1,N+1):
    if i not in T:
        E.append(i)
hiba = 0
sor = []
for k in E:
    if T[k-1] not in sor:
        sor.append(k)
        while T[k-1] not in sor:
            sor.append(T[k-1])
            k = T[k-1]
        hiba += 1
    else:
        hiba += 1
for k in range(1,N+1):
    if k not in sor and k not in E and T[k-1] not in sor:
        sor.append(k)
        while T[k-1] not in sor:
            sor.append(T[k-1])
            k = T[k-1]
        hiba += 1
    elif k not in sor and k not in E and T[k-1] in sor:
        hiba += 1
for k in E:
    if k not in sor:
        sor.append(k)
print(N-hiba)

szekrend = [0] * (N+1)
szek = 0
for k in sor:
    szek += 1
    szekrend[k] = szek
for i in range(1,N+1):
    print(szekrend[i],end=" ")       


    
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva17ms3124 KiB
2Időlimit túllépés680ms3888 KiB
subtask25/5
3Elfogadva17ms3124 KiB
4Elfogadva17ms3156 KiB
5Elfogadva17ms3112 KiB
6Elfogadva17ms2988 KiB
7Elfogadva14ms3144 KiB
subtask35/5
8Elfogadva16ms3124 KiB
9Elfogadva16ms3128 KiB
10Elfogadva17ms3124 KiB
11Elfogadva17ms3124 KiB
12Elfogadva16ms2988 KiB
subtask45/5
13Elfogadva17ms3188 KiB
14Elfogadva16ms3064 KiB
15Elfogadva17ms3124 KiB
16Elfogadva16ms3140 KiB
17Elfogadva16ms3164 KiB
subtask50/10
18Elfogadva17ms3128 KiB
19Elfogadva43ms3124 KiB
20Elfogadva41ms3124 KiB
21Elfogadva41ms3284 KiB
22Elfogadva43ms3144 KiB
23Elfogadva17ms2996 KiB
24Elfogadva16ms3152 KiB
25Elfogadva41ms3292 KiB
26Időlimit túllépés681ms4168 KiB
27Időlimit túllépés681ms4144 KiB
subtask60/10
28Elfogadva43ms3372 KiB
29Elfogadva119ms3372 KiB
30Elfogadva243ms3708 KiB
31Elfogadva418ms3632 KiB
32Időlimit túllépés643ms3760 KiB
33Időlimit túllépés679ms3688 KiB
34Időlimit túllépés683ms3636 KiB
35Időlimit túllépés686ms3748 KiB
36Időlimit túllépés675ms4164 KiB
37Időlimit túllépés674ms4132 KiB
subtask70/40
38Elfogadva48ms3380 KiB
39Elfogadva136ms3380 KiB
40Elfogadva287ms3732 KiB
41Elfogadva495ms3636 KiB
42Időlimit túllépés680ms3636 KiB
43Időlimit túllépés680ms3892 KiB
44Időlimit túllépés689ms3732 KiB
45Időlimit túllépés688ms3896 KiB
46Időlimit túllépés684ms4148 KiB
47Időlimit túllépés685ms4148 KiB
48Időlimit túllépés680ms4148 KiB
49Időlimit túllépés684ms4148 KiB
50Időlimit túllépés681ms4148 KiB
51Időlimit túllépés690ms4152 KiB
52Időlimit túllépés680ms4148 KiB
53Időlimit túllépés689ms4204 KiB
54Időlimit túllépés685ms4164 KiB
55Időlimit túllépés684ms4344 KiB
56Időlimit túllépés683ms4148 KiB
57Időlimit túllépés683ms4148 KiB