Rezultati

Up. imeNalogaJezikRezultatČas oddaje
bna-2019 Gozdovi C++ 0/100Napaka med izvajanjem / ob izhodu (RTE) 24. apr '19 @ 19:04

Test Točke Porabljen spomin Porabljen čas Status
#1 [več] 0/10 3,129 MiB 0,004 s Napačen odgovor
Tvoj izhod:
​6<<<EOF>>>
Pravilen izhod:
​6
1
<<<EOF>>>
#2 [več] 0/10 3,633 MiB 0,113 s Napačen odgovor
Tvoj izhod:
​18906<<<EOF>>>
Pravilen izhod:
​74812
<<<EOF>>>
#3 [več] 0/10 3,605 MiB 0,161 s Napačen odgovor
Tvoj izhod:
​18733<<<EOF>>>
Pravilen izhod:
​75132
<<<EOF>>>
#4 [več] 0/10 3,734 MiB 0,070 s Napačen odgovor
Tvoj izhod:
​14955<<<EOF>>>
Pravilen izhod:
​25022
<<<EOF>>>
#5 [več] 0/10 3,039 MiB 0,000 s Napačen odgovor
Tvoj izhod:
​1<<<EOF>>>
Pravilen izhod:
​1
1
2
1
1
1
#6 [več] 0/10 512,125 MiB 6,492 s Prekoračen spomin
#7 [več] 0/10 3,031 MiB 0,004 s Napačen odgovor
Tvoj izhod:
​12<<<EOF>>>
Pravilen izhod:
​97
110
103
102
20
#8 [več] 0/10 3,051 MiB 0,016 s Napačen odgovor
Tvoj izhod:
​338<<<EOF>>>
Pravilen izhod:
​2411
1505
714
3662
1019
#9 [več] 0/10 3,234 MiB 0,016 s Napačen odgovor
Tvoj izhod:
​1325<<<EOF>>>
Pravilen izhod:
​8165
7138
8332
8180
6483
#10 [več] 0/10 63,848 MiB 5,893 s Prekoračen čas

Ocenjevani program (main.cpp):
#include <iostream>
#include <stdio.h>
#include <string.h>
#include <queue>
using namespace std;

int main()
{       int n,m;
        cin>>n>>m;
        char mat[n][m];
        int vis[n][m];
        memset(vis,0,sizeof(vis[0][0])*m*n);
        for(int i=0;i<n;i++){
                string inarr;
        cin>>inarr;
            for(int j=0;j<m;j++){

                mat[i][j]=inarr[j];
            }
        }
        /*
        for(int i=0;i<n;i++){
        for(int j=0;j<m;j++){
             cout<<mat[i][j];
        }
        cout<<endl;
        }*/





       int res=0;
       for(int i=0;i<n;i++){
        for(int j=0;j<m;j++){
                if (vis[i][j]!=1){
                    //////////////////////

queue <int> qx;
queue <int> qy;
char f=mat[i][j];
bool ret=false;
qx.push(i);
qy.push(j);
while (!qx.empty()){

    int x=qx.front();
    qx.pop();

    int y=qy.front();
    qy.pop();


    vis[x][y]=1;

    int arr[16]={-1,-1,0,-1,1,-1,1,0,1,1,0,1,-1,1,-1,0};
            for(int i=0;i<16;i=i+2){
                int nx=x+arr[i];
                int ny=y+arr[i+1];


                if(ny>=0 && ny<m && nx>=0 && nx<n){

                    if(vis[nx][ny]!=1 && mat[nx][ny]==f){
                        ret=true;
                        qx.push(nx);
                        qy.push(ny);
                    }


                }



            }



}



                     //////////////////

                    if(ret){
                        res++;
                    }
                }


        }
       }

    cout<<res;






    return 0;
}