๋ฌธ์
์ฝ๋
#include <iostream>
#include <vector>
#include <memory.h>
using namespace std;
bool visited[1001];
int max_duplic = -1;
int ans;
int main(){
int n; cin>>n;
vector<vector<int>>v(n+1,vector<int>(n+1));
for(int i=0; i<n; i++){ // ํ๋
for(int k=0; k<5; k++){ //ํ์
cin>>v[i][k];
}
}
for(int a=0; a<n; a++){ //ํ์ ๋ฝ๊ธฐ
memset(visited,0,sizeof(visited));
int cnt = 0;
for(int b=0; b<5; b++){ //ํ๋
ํ์
int peo_class = v[a][b];
for(int c=0; c<n; c++){ //๋น๊ตํ ํ์
if(a!=c && peo_class == v[c][b]){
if(!visited[c]){
visited[c] = 1;
cnt++;
}
}
}
}
if(max_duplic<cnt){
max_duplic = cnt;
ans = a+1;
}
}
cout<<ans;
}
ํ์ด
๋ธ๋ก ์ฆ 1๋ก ๋ถ๋ฅ๋์ด ์๋๋ฐ ์ฌ์ค ์ด๋ฌํ ๊ตฌํ ๋ฌธ์ ๋ ๋์ด๋๋ณด๋ค๋ ์ ๋ต๋ฅ ์ ๋ด์ผ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค. 30%๋๋ก ์กฐ๊ธ ๋ฎ์ ํธ์ด์๊ณ , ์์๋๋ก ์กฐ๊ธ ๊น๋ค๋ก์ ์ง๋ง ์์ ํ์์ผ๋ก O(1000*1000*5)๋ก ๋ชจ๋ ๊ฒฝ์ฐ๋ฅผ ๋ค ์ฐพ์๋ณด๋ฉด ์์ฝ๊ฒ ํ๋ฆฝ๋๋ค.
ํ ํ์์ ๊ธฐ์ค์ผ๋ก ํ๋ ์ ๊ณจ๋ผ ๋ชจ๋ ํ์๊ณผ ๋น๊ต๋ฅผ ํ์ฌ ์ ์ผ ๋ง์ด ๊ฒน์น๋ ํ์์ ์ฐพ์ต๋๋ค.
'Algorithm ๐ง๐ปโ๐ป > ๋ฐฑ์ค(BOJ)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค,c++] 2800๋ฒ - ๊ดํธ ์ ๊ฑฐ (0) | 2022.06.03 |
---|---|
[๋ฐฑ์ค,c++] 17141๋ฒ - ์ฐ๊ตฌ์ 2 (0) | 2022.05.27 |
[๋ฐฑ์ค,c++] 1331๋ฒ - ๋์ดํธ ํฌ์ด (0) | 2022.05.08 |
[๋ฐฑ์ค,c++] 17829๋ฒ - 222-ํ๋ง (0) | 2022.04.30 |
[๋ฐฑ์ค,c++] 1932๋ฒ - ์ ์ ์ผ๊ฐํ (0) | 2022.04.04 |
[๋ฐฑ์ค,c++] 16926๋ฒ - ๋ฐฐ์ด ๋๋ฆฌ๊ธฐ1 (0) | 2022.04.04 |
๋๊ธ