top of page

소스 코드 제출

공개·회원 50명

250525


/*

#include <stdio.h>

int M, N;

int arr[101][101]={};

int sum=0, sum2=0;


void dfs(int p, int q)

{

if ( arr[p][q]!=1 || p>M || q>N || p<1 || q<1 )

{

return;

}

arr[p][q]=2;

dfs (p+1,q);

dfs (p-1,q);

dfs (p,q+1);

dfs (p,q-1);

}

void dfs2(int p1, int q1)

{

if ( arr[p1][q1]!=0 || p1>M || q1>N || p1<1 || q1<1 )

{

return;

}

arr[p1][q1]=3;

dfs2 (p1+1,q1);

dfs2 (p1-1,q1);

dfs2 (p1,q1+1);

dfs2 (p1,q1-1);

}


int main()

{

scanf("%d %d", &M, &N);

for (int i=1 ; i<=M ; i++)

{

for (int j=1 ; j<=N ; j++)

{

scanf("%d", &arr[i][j]);

}

}

for (int i=1 ; i<=M ; i++)

{

for (int j=1 ; j<=N ; j++)

{

if (arr[i][j]==1)

{

dfs(i, j);

sum+=1;

}

if (arr[i][j]==0)

{

dfs2(i, j);

sum2+=1;

}

}

}

printf("%d %d", sum2, sum);

}

*/

#include <stdio.h>

int arr[8][8]= {};

int sum=0;

int dfs(int p, int q, int t)

{

if (p>7 || q>7 || p<1 ||q<1)

{

return 0;

}

if(arr[p][q]==t)

{

arr[p][q]=6;

return dfs(p+1,q, t)+ dfs(p,q+1, t)+dfs(p,q-1,t)+dfs(p-1,q, t)+1;

}

return 0;

}

int main()

{

for (int i=1 ; i<=7 ; i++)

{

for (int j=1 ; j<=7 ; j++)

{

scanf("%d", &arr[i][j]);

}

}

for (int i=1 ; i<=7 ; i++)

{

for (int j=1 ; j<=7; j++)

{

if (arr[i][j]!=6)

{

if (dfs(i, j, arr[i][j])>=3)

{

sum++;

}

}

}

}

printf("%d", sum);

}


3회 조회
주소 : 경기도 용인시 광교중앙로 302 블루 스퀘어 602호
연락처 : 031) 216 - 1546 ,     031) 215 - 1546
사업자등록번호 : 465-92-00916
​학원 등록 제 4603호
bottom of page