poj2078(검색+가지치기)
1017 단어 검색
문제 풀이 사고방식: 한 줄 한 줄 반복해서 해답을 구할 수 있고 조건에 부합되지 않으면 거슬러 올라가서 마지막 줄이 이전과 중첩될 수 있으므로 주의해야 한다.
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
const int maxn = 8;
int n,mat[maxn][maxn],ans;
int get_max(int dep)
{
int m = 0, sum = 0;
for(int i = 1; i <= n; i++){
sum = 0;
for(int j = 1; j <= dep; j++){
sum += mat[j][i];
}
m = max(m,sum);
}
return m;
}
void dfs(int dep)
{
int tmp,m;
if(dep == n){
m = get_max(dep);
if(m < ans) ans = m;
return;
}
for(int i = 1; i <= n; i++){
tmp = mat[dep][1];
for(int j = 2; j <= n; j++){
swap(tmp,mat[dep][j]);
}
swap(tmp,mat[dep][1]);
m = get_max(dep);
if(m > ans) continue;
dfs(dep+1);
}
}
int main()
{
while(scanf("%d",&n),n != -1){
for(int i = 1; i <= n; i++)
for(int j = 1; j <= n; j++)
scanf("%d",&mat[i][j]);
ans = get_max(n);
dfs(1);
printf("%d
",ans);
}
return 0;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
「저것과 비슷한 툴」을 조사하려면 어떻게 하면 좋을까?이 기사는 의 개발 팀 「 」에서 실시하고 있는 아웃풋 기획이다 요 전날, 어느 툴과 비슷한 툴을 씻어내려고, 생각대로 암운으로 검색하고 있었습니다만, 「아니, 비슷한 툴을 찾는 방법을 찾는 것이 좋지 않을까...?...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.