https://www.acmicpc.net/problem/1268
μ½λ
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashSet;
import java.util.Set;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st;
/** 1 **/
int n = Integer.parseInt(bf.readLine());// νμ μ
int[][] arr = new int[n][5]; // ν: νμμ, μ΄: 1~5νλ
int[] sameClassRoom = new int[n]; // νμ λ³ κ°μ λ°μ΄μλ νμ μ
int maxStudent = 0; // κ°μ λ°μ΄μλ νμ μ μ΅λκ°
int answer = 0;
/** 2 **/
for(int i=0; i<n; i++) { // νμ μλ³λ‘ 1νλ
~ 5νλ
κΉμ§ λͺ λ°μ μνμλμ§ μ
λ ₯
st = new StringTokenizer(bf.readLine());
for(int j=0; j<5; j++) {
arr[i][j] = Integer.parseInt(st.nextToken());
}
}
/** 3 **/
for(int i=0; i<n; i++) {
Set<Integer> sameClass = new HashSet<>();
for(int j=0; j<5; j++) {
for(int k=0; k<n; k++) {
if(arr[i][j] == arr[k][j] && k != i) {
sameClass.add(k);
}
}
}
if(maxStudent < sameClass.size()) {
maxStudent = sameClass.size();
answer = i;
}
}
// /** 4 **/
// for(int i=0; i<sameClassRoom.length; i++) {
// if(sameClassRoom[i] > maxStudent)
// maxStudent = sameClassRoom[i];
// }
//
// /** 5 **/
// for(int i=0; i<sameClassRoom.length; i++) {
// if(sameClassRoom[i] == maxStudent) {
// System.out.println(i+1);
// break;
// }
// }
System.out.println(answer+1);
bf.close();
}
}
νμ΄
ꡬν λ¬Έμ , λ¬Έμ μμ μ£Όμ΄μ§ λ°©μλλ‘ μμ νμμΌλ‘ ν΄κ²°νλ €κ³ νλ€.
Input νμ μλ μ΅λ 1000μ΄κ³ , 5νλ
μ΄μ΄μ O(5*1000*1000) μ΄μ΄μ κ°λ₯νλ€κ³ νλ¨νκ³ μ κ·Όνλ€.
1λ² ~ nλ²μ κ° νμλ³λ‘ λ€λ₯Έ νμκ³Ό λͺλ² κ°μλ°μ΄ λμ§ νλνλ λ€ μ°Ύμμ λΉκ΅λ₯Ό ν΄μ£Όμλ€.
λ¬Έμ μ μμλ₯Ό ν΅ν΄ 보면,,
1λ² νμμ΄ 1νλ , 2νλ , 3νλ , 4νλ , 5νλ λμ λ€λ₯Έ νμκ³Ό μ΄ λͺλ² κ°μλ°μ΄ λμ§ μ²΄ν¬ν΄μ μΉ΄μ΄νΈν΄μ£Όμλ€.
1λ² νμμ 1νλ ~5νλ μ λΆ λ€λ₯Έ νμκ³Ό κ°μλ°μ΄ λ μ μ΄ νλ²λ μμΌλ―λ‘ μΉ΄μ΄νΈλ 0μ΄λ€,
μμκ°μ΄ ν΄λ³΄λ©΄ 2λ² νμμ 4νλ λ 4λ² νμκ³Ό 1λ²
3λ² νμμ 3λ², 4λ² νμμ 4λ², 5λ² νμμ 2λ²μ΄ λμ¨λ€.
νμ§λ§ μμ κ°μ΄ μ κ·Όνμλ μ€λ³΅μ΄λΌλ λ¬Έμ μ μ΄ λ°μνλ€. μ΄ μ€λ³΅λλ¬Έμ ν€λ§Έλλ°..
4
3 5 1 5 5
4 4 3 5 1
1 2 3 2 2
1 3 3 2 2
λ§μ½ μμ κ°μ΄ μ£Όμ΄μ‘μλ, 3λ²μΉκ΅¬λ 4λ²μΉκ΅¬μ 4νλ , 5νλ μ λͺ¨λ κ°μλ°μ΄μ§λ§, μ€λ³΅μ΄ λλ―λ‘ +2κ° μλ +1μ ν΄μ£Όμ΄μΌ νλ€. λ°λΌμ μμ κ°μ μμΈκ° μμλ€.
κ·Έλμ Set - HashSetμ μ΄μ©ν΄ ν΄κ²°μ ν΄μ£Όμλλ°, νΉμ§μ μ€λ³΅μ νλ½νμ§ μκ³ μμμ κ΄κ³μμ΄ μ λ ¬λλ€.
μ€λ³΅μ νλ½νμ§ μμΌλ―λ‘ μμκ°μ μ€λ³΅μ λ°©μ§ν μ μλ€.
λ°λΌμ κ°μ λ°μ΄ λ κ²½μ°, HashSetμ μΆκ°ν΄μ£Όκ³ ,(ν¬κΈ° +1) νμ μμ λΉκ΅ν΄μ€λ€.
/** 1 **/
λ³μ μ λ ₯
/** 2 **/
2μ°¨μ λ°°μ΄μ Input κ°μ μ μ₯νλ€.
/** 3 **/
κ° νμ λ³λ‘ λΉκ΅νλ λ¬Έμ₯,
κ°μ₯ λ° forλ¬Έ(i=0; i<n; i++) μ΄ forλ¬Έμ, λΉκ΅ν λμμ΄ λλ νμμ μ§λͺ©ν νμ΄λ€.
μ€κ° forλ¬Έ(j=0; j<5; j++) μ΄ forλ¬Έμ, λΉκ΅ν λμμ νλ λ³λ‘ μ νν μ΄μ΄λ€.
κ°μ₯ μ forλ¬Έ(k=0; k<n; k++) μ΄ forλ¬Έμ, μ i,jμ νμκ³Ό νλ λ³λ‘ λͺ¨λ νμμ νμνλ©΄μ λΉκ΅ν forλ¬Έμ΄λ€.
1λ² νμμ κ²½μ°λ‘ μλ₯Ό λ€μ΄λ³΄λ©΄,
1λ² νμ: 1νλ , 2νλ , 3νλ , 4νλ , 5νλ λμ
2λ² ~ 5λ² νμμ 1, 2, 3, 4, 5 νλ κ³Ό λΉκ΅λ₯Ό ν΄μΌνλ€.
λΉκ΅λ₯Ό ν΅ν΄ κ°μ λ°μΌκ²½μ° -> HashSetμ add()λ₯Ό ν΅ν΄ μ¬μ΄μ¦λ₯Ό +1 νλ€.
'Algorithm' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[λ°±μ€] 11726λ²: 2xn νμΌλ§(DP) (0) | 2020.02.25 |
---|---|
[Codeforces] 1223A: CME (0) | 2020.02.25 |
[Codeforces] 1200A: Cards (0) | 2020.02.24 |
[Codeforces] 1186A: Vus the Cossack and a Contest (0) | 2020.02.23 |
[Codeforces] 959A: Mahmoud and Ehab and the even-odd game (0) | 2020.02.22 |
λκΈ