- 문제 링크 : boj.kr/18869
- 난이도 : G5
- 태그 : 좌표압축
코드
#include <bits/stdc++.h>
#define all(x) (x).begin(), (x).end()
#define INF 0x7FFFFFFF
using namespace std;
using ll = long long;
using ld = long double;
using pii = pair<int,int>;
using pll = pair<ll, ll>;
void process(vector<int>& arr) {
vector<int> temp(arr.begin(), arr.end());
sort(all(temp));
temp.erase(unique(all(temp)), temp.end());
for(int i = 0; i < arr.size(); i++) {
int idx = lower_bound(all(temp), arr[i]) - temp.begin();
arr[i] = idx;
}
}
int main()
{
ios::sync_with_stdio(0);
cin.tie(0); cout.tie(0);
int n, m;
cin >> m >> n;
vector<vector<int>> arr(m, vector<int>(n));
for(int i = 0; i < m; i++) {
for(auto &u : arr[i]) cin >> u;
process(arr[i]);
}
int ans = 0;
for(int i = 0; i < m; i++) {
for(int j = i+1; j < m; j++) {
bool flag = true;
for(int k = 0; k < n; k++) {
if(arr[i][k] != arr[j][k]) {
flag = false;
break;
}
}
if(flag) ans++;
}
}
cout << ans;
return 0;
}
풀이
좌표압축 후에 각 우주를 브루트포스로 비교한다.
728x90
'PS' 카테고리의 다른 글
BOJ 31862 : 승리하라 (0) | 2024.06.14 |
---|---|
BOJ 17505 : 링고와 순열 (1) | 2024.06.13 |
BOJ 1414 : 불우이웃돕기 (0) | 2024.06.11 |
BOJ 28018 : 시간이 겹칠까? (0) | 2024.06.10 |
BOJ 2487 : 섞기 순열 (0) | 2024.06.09 |