코드플러스 (브루트포스) - 3085번 (C++)
2022. 7. 25. 08:51ㆍ코딩테스트/백준
https://www.acmicpc.net/problem/3085
3085번: 사탕 게임
예제 3의 경우 4번 행의 Y와 C를 바꾸면 사탕 네 개를 먹을 수 있다.
www.acmicpc.net
전형적이 각 행과열을 체크하는 브루트포스 문제이다.
거기에 오른쪽 ,아래 인자와 스왑을 곁들였다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
|
#include <iostream>
#include <string>
#include <algorithm>
#define MAX 50
using namespace std;
int board[MAX][MAX] = {0};
int result = 0;
int CheckLines(int size)
{
int ch;
int temp;
//행검사
for(int i = 0 ; i < size ; i++)
{
//초기화
ch = board[i][0];
temp=0;
for(int j= 0 ; j<size ;j++)
{
if(ch == board[i][j])
{
temp++;
if(temp > result)
result = temp;
}
else
{
ch = board[i][j];
temp = 1;
}
}
}
//열검사
for(int i = 0 ; i < size ; i++)
{
//초기화
ch = board[0][i];
temp=0;
for(int j= 0 ; j<size ;j++)
{
if(ch == board[j][i])
{
temp++;
if(temp > result)
result = temp;
}
else
{
ch = board[j][i];
temp = 1;
}
}
}
return result;
}
int main()
{
ios_base::sync_with_stdio(false); // c와 c++의 표준 입출력 스트림을 동기화를 하지 않겠다는 의미
cin.tie(nullptr); // cin사용시 출력 버퍼를 비우지(flush) 않는다.
int size;
string candies;
//입력 받고 board에 저장
cin >> size;
for(int i = 0 ; i < size; i++)
{
cin >> candies;
for(int ch = 0 ; ch < size; ch++ )
{
board[i][ch] = candies[ch]; //아스키 코드 값으로 받아짐 'A' = 65인가 그럴거임 아스키코드표 참조
}
}
//맨처음 검사해보고 최대값이면 바로 출력
if(CheckLines(size)==size)
{
cout <<result;
return 0;
}
//위치 바꺼서 체크해보기;
for(int i = 0 ; i < size;i++)
{
for(int j = 0; j< size;j++)
{
//마지막 행인지 체크
if(i != size-1)
{
//아래랑 바꺼서 체크
swap(board[i][j],board[i+1][j]);
CheckLines(size);
swap(board[i][j],board[i+1][j]);// 되돌리기
}
//마지막 열인지 체크
if(j != size-1)
{
//오른쪽이랑 바꺼서 체크
swap(board[i][j],board[i][j+1]);
CheckLines(size);
swap(board[i][j],board[i][j+1]);// 되돌리기
}
}
}
cout <<result;
return 0;
}
|
cs |
'코딩테스트 > 백준' 카테고리의 다른 글
알고리즘 기초 - 10828번 스택(C++) (0) | 2022.08.12 |
---|---|
코딩플러스 (브루트포스) - 1476번 (C++) (0) | 2022.07.25 |
코드플러스 기초 (브루트포스) - 2309 (C++) (0) | 2022.07.25 |
코드플러스 기초 - 6588 (C++) (0) | 2022.07.23 |
코드플러스 기초 - 1929번 (C++) (0) | 2022.07.22 |