14391번: 종이 조각
영선이는 숫자가 쓰여 있는 직사각형 종이를 가지고 있다. 종이는 1×1 크기의 정사각형 칸으로 나누어져 있고, 숫자는 각 칸에 하나씩 쓰여 있다. 행은 위에서부터 아래까지 번호가 매겨져 있고,
www.acmicpc.net
#include <iostream>
#include <cstdio>
using namespace std;
int a[4][4];
int main() {
int n, m;
scanf("%d %d",&n,&m);
for (int i=0; i<n; i++) {
for (int j=0; j<m; j++) {
scanf("%1d",&a[i][j]);
}
}
int ans = 0;
// 0: -, 1 : |
for (int s=0; s<(1<<(n*m)); s++) {
int sum = 0;
for (int i=0; i<n; i++) {
int cur = 0;
for (int j=0; j<m; j++) {
int k = i*m+j;
if ((s&(1<<k)) == 0) {
cur = cur * 10 + a[i][j];
} else {
sum += cur;
cur = 0;
}
}
sum += cur;
}
for (int j=0; j<m; j++) {
int cur = 0;
for (int i=0; i<n; i++) {
int k = i*m+j;
if ((s&(1<<k)) != 0) {
cur = cur * 10 + a[i][j];
} else {
sum += cur;
cur = 0;
}
}
sum += cur;
}
ans = max(ans,sum);
}
cout << ans << '\n';
return 0;
}
'Problem set' 카테고리의 다른 글
[백준] 1260 DFS와 BFS (0) | 2021.02.20 |
---|---|
[백준] 13023 ABCDE (0) | 2021.02.20 |
[백준] 1182 부분수열의 합 (0) | 2021.02.20 |
[백준] 11723 집합 (0) | 2021.02.20 |
[백준] 1248 맞춰봐 (0) | 2021.02.20 |