235692026-01-24 20:27:25abcdCseppkőbarlang (45 pont)cpp17Elfogadva 45/4529ms1792 KiB
#include <bits/stdc++.h>
using namespace std;
using pii = pair<int, int>;

int n,m;
vector<pii> xy={{0,-1},{-1,0},{0,1},{1,0}};

void dfs(vector<vector<int>>& nm,int x,int y){
    int cur=nm[x][y];
    nm[x][y]=0;
    for(auto [a,b]:xy){
        int i=x+a,j=y+b;
        if(i>n||i<1||j>m||j<1||!nm[i][j])continue;
        if(nm[i][j]>=cur)dfs(nm,i,j);
    }
}

int main(){
    cin>>n>>m;
    vector<vector<int>> nm(n+1,vector<int>(m+1));
    vector<array<int,3>> q;
    for(int i=1;i<=n;i++)
        for(int j=1;j<=m;j++){
            cin>>nm[i][j];
            if(nm[i][j])q.push_back({nm[i][j],i,j});
        }
    sort(q.begin(),q.end());
    vector<pii> ans;
    for(auto [a,x,y]:q){
        if(nm[x][y]){
            dfs(nm,x,y);
            ans.push_back({x,y});
        }
    }
    cout<<ans.size()<<'\n';
    for(auto [a,b]:ans)cout<<a<<' '<<b<<'\n';
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base45/45
1Elfogadva0/01ms512 KiB
2Elfogadva0/01ms508 KiB
3Elfogadva1/11ms316 KiB
4Elfogadva1/11ms316 KiB
5Elfogadva2/214ms1792 KiB
6Elfogadva2/214ms1080 KiB
7Elfogadva2/214ms1072 KiB
8Elfogadva2/21ms316 KiB
9Elfogadva2/21ms316 KiB
10Elfogadva3/320ms1064 KiB
11Elfogadva3/329ms1316 KiB
12Elfogadva3/324ms1096 KiB
13Elfogadva3/323ms1044 KiB
14Elfogadva3/314ms828 KiB
15Elfogadva3/318ms1076 KiB
16Elfogadva3/318ms1080 KiB
17Elfogadva3/319ms1072 KiB
18Elfogadva3/320ms1076 KiB
19Elfogadva3/317ms1076 KiB
20Elfogadva3/328ms1264 KiB