top of page

소스 코드 제출

공개·회원 52명

250604

#include <stdio.h>

int arr[100][100]= {}, count[400]= {}, coont[400]= {};

int n, sum=0, som=0;

void dfs1(int k, int p, int way)

{

if(k>19||p>19||k<1||p<1|| arr[k][p]==0)

{

return ;

}

sum++;

//arr[k][p]=0;

dfs1(k+1, p, way);

dfs1(k, p+1, way);

dfs1(k+1, p+1, way);

dfs1(k-1, p+1, way);

}

void dfs2(int k, int p, int way)

{

//arr[k][p]=0;

coont[som]++;

if(k+1<=19&&arr[k+1][p]==2&&way==1)

{

dfs2(k+1, p, way);

}

if(p+1<=19&&arr[k][p+1]==2&&way==2)

{

dfs2(k, p+1, way);

}

if(k+1<=19&&p+1<=19&&arr[k+1][p+1]==2&&way==3)

{

dfs2(k+1, p+1, way);

}

if(k-1>=1&&p+1<=19&&arr[k-1][p+1]==2&&way==4)

{

dfs2(k-1, p+1, way);

}

}

int main()

{

int i, j, way, a=0;

for(j=1; j<=19; j++)

{

for(i=1; i<=19; i++)

{

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

}

}

for(j=1; j<=19; j++)

{

for(i=1; i<=19; i++)

{

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

{

for(int way=1;way<=4;way++)

{

sum=0;

dfs1(i, j, way);

printf("black(%d %d)\n", j, i);

if(sum==5)

{

printf("1\n");

printf("%d %d\n", j, i);

a+=1;

return 0;

}

}

}

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

{

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

{

way=1;

}

else if(arr[i][j+1]==2)

{

way=2;

}

else if(arr[i+1][j+1]==2)

{

way=3;

}

else if(arr[i-1][j+1]==2)

{

way=4;

}

dfs2(i, j, way);

printf("white(%d %d)\n", j, i);

if(coont[som]==5)

{

printf("2\n");

printf("%d %d", j, i);

a+=1;

}

som++;

}

}

}

if(a==0)

{

printf("0");

}

return 0;

}

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