193662025-12-05 10:45:50birozsCseppkőbarlang (45 pont)pypy3Hibás válasz 6/45603ms28392 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
base6/45
1Elfogadva0/048ms21144 KiB
2Hibás válasz0/064ms21620 KiB
3Elfogadva1/143ms21196 KiB
4Elfogadva1/143ms21164 KiB
5Időlimit túllépés0/2566ms28392 KiB
6Időlimit túllépés0/2587ms24036 KiB
7Időlimit túllépés0/2603ms26600 KiB
8Elfogadva2/257ms21740 KiB
9Elfogadva2/264ms21876 KiB
10Időlimit túllépés0/3588ms23784 KiB
11Időlimit túllépés0/3587ms24804 KiB
12Időlimit túllépés0/3602ms24036 KiB
13Időlimit túllépés0/3575ms25060 KiB
14Időlimit túllépés0/3588ms23860 KiB
15Időlimit túllépés0/3583ms24772 KiB
16Időlimit túllépés0/3602ms23988 KiB
17Időlimit túllépés0/3593ms24040 KiB
18Időlimit túllépés0/3592ms24808 KiB
19Időlimit túllépés0/3580ms23676 KiB
20Időlimit túllépés0/3603ms24040 KiB