본문 바로가기

Algorithm/BOJ

[BOJ] 2615 오목

 

 

2615번: 오목

오목은 바둑판에 검은 바둑알과 흰 바둑알을 교대로 놓아서 겨루는 게임이다. 바둑판에는 19개의 가로줄과 19개의 세로줄이 그려져 있는데 가로줄은 위에서부터 아래로 1번, 2번, ... ,19번의 번호

www.acmicpc.net

반례↓

 

 

 

글 읽기 - 누가 기침소리를 내었는가?

댓글을 작성하려면 로그인해야 합니다.

www.acmicpc.net

 

틀린 이유

  • 6개 이상일 경우 → 이전 값까지 모두 확인해야 한다. 이전 값이 없을 때만 온전히 5개인지 검사할 수 있다.

 

  • visit를 쓸 경우 관계 없는 경우의 새로운 케이스에 대해 검사하지 못한다.

 

 

#include<stdio.h>
int a[19+2][19+2];
int main()
{
      int i, j;
      for(i=1; i<=19; i++)
      	for(j=1; j<=19; j++)
     	 	scanf("%d", &a[i][j]);
            
            
      for(i=1; i<=19; i++)
      	for(j=1; j<=19; j++)
        
          if(a[i][j]!=0){
              if(a[i][j‐1]!=a[i][j] && search1(a[i][j], i, j, 1)==1){
                  printf("%d\n%d %d", a[i][j], i, j);
                  return 0;}
              
              if(a[i‐1][j‐1]!=a[i][j] && search2(a[i][j], i, j, 1)==1){
                  printf("%d\n%d %d", a[i][j], i, j);
                  return 0;}
              
              if(a[i‐1][j]!=a[i][j] && search3(a[i][j], i, j, 1)==1){
                  printf("%d\n%d %d", a[i][j], i, j);
                  return 0;}
              
              if(a[i+1][j‐1]!=a[i][j] && search4(a[i][j], i, j, 1)==1){
                  printf("%d\n%d %d", a[i][j], i, j);
                  return 0;}
	}
        
        
      printf("0");
      return 0;
}

 

 

int search1(int color, int i, int j, int cnt)
{
    for(; color==a[i][j+1]; j++)
    	cnt++;
    return cnt==5 ? 1:0;
}
int search2(int color, int i, int j, int cnt)
{
    for(; color==a[i+1][j+1]; i++, j++)
    	cnt++;
    return cnt==5 ? 1:0;
}
int search3(int color, int i, int j, int cnt)
{
    for(; color==a[i+1][j]; i++)
    	cnt++;
    return cnt==5 ? 1:0;
}
int search4(int color, int i, int j, int cnt)
{
    for(; color==a[i‐1][j+1]; i‐‐,j++)
    	cnt++;
    return cnt==5 ? 1:0;
}

'Algorithm > BOJ' 카테고리의 다른 글

[BOJ] 2579 계단 오르기  (0) 2021.07.31
[BOJ] 1107 리모컨  (0) 2021.07.21
[BOJ] 7573 고기잡이  (0) 2021.07.14
[BOJ] 17255 N으로 만들기  (0) 2021.06.23
[BOJ] 3933 라그랑주의 네 제곱수 정리  (0) 2021.06.15