반응형
https://www.acmicpc.net/problem/1068
1068번: 트리
첫째 줄에 트리의 노드의 개수 N이 주어진다. N은 50보다 작거나 같은 자연수이다. 둘째 줄에는 0번 노드부터 N-1번 노드까지, 각 노드의 부모가 주어진다. 만약 부모가 없다면 (루트) -1이 주어진다. 셋째 줄에는 지울 노드의 번호가 주어진다.
www.acmicpc.net
1. 해결방법
열 단위로 램프가 켜지기 때문에 같은 패턴을 띄어야만 행의 램프가 켜질 수 있다 따라서 1행이 0 1 이라면 나머지 2 3행에서 0 1 패턴이 있는지 찾고 이를 반복적으로 수행하면 된다. 또한 0의 개수가 K보다작은지, K%2 = 0%2인지 비교해주면 된다
2. 코드
#include <iostream>
#include <algorithm>
#include <string.h>
using namespace std;
int N, M, K;
string ary[51];
int max_value = 0;
int main()
{
cin >> N >> M;
for (int i = 0; i < N; i++) {
cin >> ary[i];
}
cin >> K;
for (int j = 0; j < N; j++) {
int zero_cnt = 0;
for (int k = 0; k < M; k++) {
if (ary[j][k] == '0') {
zero_cnt++;
}
}
int cnt = 0;
if (zero_cnt <= K && zero_cnt % 2 == K % 2) {
for (int m = 0; m < N; m++) {
if (ary[j] == ary[m]) {
cnt++;
}
}
}
max_value = max(max_value, cnt);
}
cout << max_value;
}
반응형
'코딩테스트 > 백준' 카테고리의 다른 글
[백준] #1197 램프 (0) | 2020.05.08 |
---|---|
[백준] #1012 유기농 배추 (0) | 2020.04.06 |
[백준] #1068 트리 (0) | 2020.03.29 |