193652025-12-05 10:45:25birozsCseppkőbarlang (45 pont)python3Hibás válasz 8/45586ms5448 KiB
N,M = map(int,input().split())
null = [0]*(M+2)
T = [null]
for _ in range(N):
    sor = list(map(int,input().split()))
    sor = [0] + sor + [0]
    T.append(sor)
T.append(null)
Tszin = []
for i in range(N+2):
    sor = []
    for j in range(M+2):
        sor.append(0)
    Tszin.append(sor)
barlangresz = 0
for i in range(1,N+1):
    for j in range(1,M+1):
        if T[i][j] > 0:
            barlangresz += 1
bejart = 0
first = []
while bejart < barlangresz:
    for i in range(1,N+1):
        for j in range(1,M+1):
            if T[i][j] > 0 and Tszin[i][j]==0:
                sor = [[i,j,T[i][j]]]
                if [i,j,T[i][j]] not in first:
                    first.append([i,j,T[i][j]])
                #print(first)
                Tszin[i][j]=1
                while len(sor) > 0:
                    aktelem = sor.pop()
                    bejart += 1
                    aktmelyseg = aktelem[2]
                    akti = aktelem[0]
                    aktj = aktelem[1]
                    #x = input()
                    
                    if  [akti-1,aktj,T[akti-1][aktj]] in first and first[-1]!=[akti-1,aktj,T[akti-1][aktj]]:
                        #print(first[-1],[akti-1,aktj,T[akti-1][aktj]])
                        first.pop(first.index([akti-1,aktj,T[akti-1][aktj]]))
                    if T[akti-1][aktj]>=aktmelyseg and Tszin[akti-1][aktj]==0:
                        sor.append([akti-1,aktj,T[akti-1][aktj]])
                        Tszin[akti-1][aktj] = 1

                    if  [akti+1,aktj,T[akti+1][aktj]] in first and first[-1]!=[akti+1,aktj,T[akti+1][aktj]]:
                        #print(first[-1],[akti+1,aktj,T[akti+1][aktj]])
                        first.pop(first.index([akti+1,aktj,T[akti+1][aktj]]))
                    if T[akti+1][aktj]>=aktmelyseg and Tszin[akti+1][aktj]==0:
                        sor.append([akti+1,aktj,T[akti+1][aktj]])
                        Tszin[akti+1][aktj] = 1

                    if  [akti,aktj-1,T[akti][aktj-1]] in first and first[-1]!=[akti,aktj-1,T[akti][aktj-1]]:
                        #print(first[-1],[akti,aktj-1,T[akti][aktj-1]])
                        first.pop(first.index([akti,aktj-1,T[akti][aktj-1]]))
                    if T[akti][aktj-1]>=aktmelyseg and Tszin[akti][aktj-1]==0:
                        sor.append([akti,aktj-1,T[akti][aktj-1]])
                        Tszin[akti][aktj-1] = 1

                    if  [akti,aktj+1,T[akti][aktj+1]] in first and first[-1]!=[akti,aktj+1,T[akti][aktj+1]]:
                        #print(first[-1],[akti,aktj+1,T[akti][aktj+1]])
                        first.pop(first.index([akti,aktj+1,T[akti][aktj+1]]))
                    if T[akti][aktj+1]>=aktmelyseg and Tszin[akti][aktj+1]==0:
                        sor.append([akti,aktj+1,T[akti][aktj+1]])
                        Tszin[akti][aktj+1] = 1

print(len(first))
for k in first:
    print(k[0],k[1])
RészfeladatÖsszpontTesztVerdiktIdőMemória
base8/45
1Elfogadva0/017ms3384 KiB
2Hibás válasz0/021ms3380 KiB
3Elfogadva1/116ms3560 KiB
4Elfogadva1/117ms3384 KiB
5Elfogadva2/2252ms4532 KiB
6Időlimit túllépés0/2586ms4288 KiB
7Időlimit túllépés0/2586ms4296 KiB
8Elfogadva2/220ms3380 KiB
9Elfogadva2/221ms3532 KiB
10Időlimit túllépés0/3578ms4916 KiB
11Időlimit túllépés0/3583ms5428 KiB
12Időlimit túllépés0/3578ms5172 KiB
13Időlimit túllépés0/3578ms5040 KiB
14Időlimit túllépés0/3586ms4812 KiB
15Időlimit túllépés0/3583ms4404 KiB
16Időlimit túllépés0/3586ms4148 KiB
17Időlimit túllépés0/3586ms4336 KiB
18Időlimit túllépés0/3586ms4312 KiB
19Időlimit túllépés0/3582ms4404 KiB
20Időlimit túllépés0/3583ms5448 KiB