반응형
구현해 brute force하는 문제였습니다.
풀이방법
1. 모든 그림 쌍에 대해 다른 정도를 비교해 계속 그림 정보를 갱신해줍니다.
2. 답이 한 개이므로 다른 정도 같은 여러 그림의 쌍을 생각할 필요가 없습니다.
Code
#include <bits/stdc++.h>
using namespace std;
int n;
vector <vector<string>> picture;
int minPic[2];
int minPivot = 0x7f7f7f7f;
int getDifference(vector<string> a, vector<string> b){
int cnt = 0;
for(int i = 0; i < a.size(); i++){
for(int j = 0; j < a[i].size(); j++){
if(a[i][j]!=b[i][j])cnt++;
}
}
return cnt;
}
int main(){
cin >> n;
for(int pic = 0; pic < n; pic++){
vector <string> s;
for(int i = 0; i < 5; i++){
string tmp;
cin >> tmp;
s.push_back(tmp);
}
picture.push_back(s);
}
for(int i = 0; i < n; i ++){
vector <string> onePic = picture[i];
for(int j = i+1; j < n; j++){
vector <string> secondPic = picture[j];
int difference = getDifference(onePic,secondPic);
if(difference < minPivot){
minPivot = difference;
minPic[0] = i+1;
minPic[1] = j+1;
}
}
}
cout << minPic[0] << ' ' << minPic[1] <<'\n';
}
'Algorithm > Brute Force' 카테고리의 다른 글
(C++) - 백준(BOJ) 2304번 : 창고 다각형 답 (6) | 2021.01.30 |
---|---|
(C++) - 백준(BOJ) 1145번 : 적어도 대부분의 배수 답 (0) | 2021.01.27 |
(C++) - 백준(BOJ) 1057번 : 토너먼트 답 (0) | 2021.01.22 |
(C++) - 백준(BOJ) 2985번 : 세 수 답 (0) | 2021.01.20 |
(C++) - 백준(BOJ) 1590번 : 캠프가는 영식 답 (0) | 2021.01.16 |