😎 κ³΅λΆ€ν•˜λŠ” μ§•μ§•μ•ŒνŒŒμΉ΄λŠ” μ²˜μŒμ΄μ§€?

[BAEKJOON C++] 5176_λŒ€νšŒ 자리 λ³Έλ¬Έ

πŸ¦₯ μ½”ν…Œ/BAEKJOON

[BAEKJOON C++] 5176_λŒ€νšŒ 자리

μ§•μ§•μ•ŒνŒŒμΉ΄ 2023. 8. 13. 23:26
728x90
λ°˜μ‘ν˜•
이번 ACM-ICPC λŒ€νšŒμ˜ μžλ¦¬λŠ” μ°Έκ°€μžλ“€μ΄ μ§μ ‘ μ •ν•œλ‹€. 
μ°Έκ°€μžλ“€μ€ μ˜ˆλΉ„ μ†Œμ§‘일에 μžμ‹ μ΄ μ›ν•˜λŠ” μžλ¦¬λ₯Ό λ―Έλ¦¬ μ •ν•΄λ†“μ•˜κ³ , 
λŒ€νšŒ λ‹ΉμΌμ— μ–΄μ œ μ μ–΄λ†“은 μžλ¦¬μ— μ•‰μœΌλ©΄ λœλ‹€. 

μ—¬λŸ¬λͺ…이 κ°™μ€ μžλ¦¬λ₯Ό μ μ–΄λ…Ό κ²½μš°μ—λŠ”, 
λ¨Όμ € λ„μ°©ν•œ μ‚¬λžŒμ΄ κ·Έ μžλ¦¬μ— μ•‰κ²Œλ˜κ³ , 
앉지 λͺ»ν•œ μ‚¬λžŒμ€ λŒ€νšŒμ— μ°Έκ°€ν•  μˆ˜ μ—†λ‹€.

각 μ‚¬λžŒμ΄ μ„ ν˜Έν•˜λŠ” μžλ¦¬κ°€ μ£Όμ–΄μ‘Œμ„ λ•Œ, 
λŒ€νšŒμ— μ°Έκ°€ν•˜μ§€ λͺ»ν•˜λŠ” μ‚¬λžŒμ˜ μˆ˜λ₯Ό κ΅¬ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€.

μž…λ ₯
첫째 μ€„에 ν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€μ˜ κ°œμˆ˜ Kκ°€ μ£Όμ–΄μ§„λ‹€. 
각 ν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€λŠ” λ‹€μŒκ³Ό κ°™μ΄ κ΅¬μ„±λ˜μ–΄ μžˆλ‹€.

첫째 μ€„에 μ°Έκ°€μžμ˜ μˆ˜ P와 μžλ¦¬μ˜ μˆ˜ M이 μ£Όμ–΄μ§„λ‹€. (1 ≤ P, M ≤ 500)
λ‹€μŒ P개 μ€„μ—λŠ” κ° μ°Έκ°€μžκ°€ μ›ν•˜λŠ” μžλ¦¬κ°€ μ£Όμ–΄μ§„λ‹€. 
μžλ¦¬λŠ” 1λ²ˆλΆ€ν„° Mλ²ˆκΉŒμ§€ μžˆλ‹€. 
μž…λ ₯으둜 μ£Όμ–΄μ§€λŠ” μ°Έκ°€μžκ°€ λ„μ°©ν•˜λŠ” μˆœμ„œμ΄λ‹€.

좜λ ₯
각 ν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€μ— λŒ€ν•΄μ„œ, λŒ€νšŒμ— μ°Έκ°€ν•˜μ§€ λͺ»ν•˜λŠ” μ‚¬λžŒμ˜ μˆ˜λ₯Ό μΆœλ ₯ν•œλ‹€.
// [5176] λŒ€νšŒ 자리 

/*
이번 ACM-ICPC λŒ€νšŒμ˜ μžλ¦¬λŠ” μ°Έκ°€μžλ“€μ΄ 직접 μ •ν•œλ‹€. 
μ°Έκ°€μžλ“€μ€ μ˜ˆλΉ„ μ†Œμ§‘μΌμ— μžμ‹ μ΄ μ›ν•˜λŠ” 자리λ₯Ό 미리 μ •ν•΄λ†“μ•˜κ³ , 
λŒ€νšŒ 당일에 μ–΄μ œ 적어놓은 μžλ¦¬μ— μ•‰μœΌλ©΄ λœλ‹€. 

μ—¬λŸ¬λͺ…이 같은 자리λ₯Ό 적어논 κ²½μš°μ—λŠ”, 
λ¨Όμ € λ„μ°©ν•œ μ‚¬λžŒμ΄ κ·Έ μžλ¦¬μ— μ•‰κ²Œλ˜κ³ , 
앉지 λͺ»ν•œ μ‚¬λžŒμ€ λŒ€νšŒμ— μ°Έκ°€ν•  수 μ—†λ‹€.

각 μ‚¬λžŒμ΄ μ„ ν˜Έν•˜λŠ” μžλ¦¬κ°€ μ£Όμ–΄μ‘Œμ„ λ•Œ, 
λŒ€νšŒμ— μ°Έκ°€ν•˜μ§€ λͺ»ν•˜λŠ” μ‚¬λžŒμ˜ 수λ₯Ό κ΅¬ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€.

μž…λ ₯
첫째 쀄에 ν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€μ˜ 개수 Kκ°€ 주어진닀. 
각 ν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€λŠ” λ‹€μŒκ³Ό 같이 κ΅¬μ„±λ˜μ–΄ μžˆλ‹€.

첫째 쀄에 μ°Έκ°€μžμ˜ 수 P와 자리의 수 M이 주어진닀. (1 ≤ P, M ≤ 500)
λ‹€μŒ P개 μ€„μ—λŠ” 각 μ°Έκ°€μžκ°€ μ›ν•˜λŠ” μžλ¦¬κ°€ 주어진닀. 
μžλ¦¬λŠ” 1λ²ˆλΆ€ν„° Mλ²ˆκΉŒμ§€ μžˆλ‹€. 
μž…λ ₯으둜 μ£Όμ–΄μ§€λŠ” μ°Έκ°€μžκ°€ λ„μ°©ν•˜λŠ” μˆœμ„œμ΄λ‹€.

좜λ ₯
각 ν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€μ— λŒ€ν•΄μ„œ, λŒ€νšŒμ— μ°Έκ°€ν•˜μ§€ λͺ»ν•˜λŠ” μ‚¬λžŒμ˜ 수λ₯Ό 좜λ ₯ν•œλ‹€.
*/

#define _CRT_SECURE_NO_WARNINGS
// ν‘œμ€€ μŠ€νŠΈλ¦Όμ—μ„œ 읽기 및 μ“°κΈ°λ₯Ό μ œμ–΄ν•˜λŠ” 개체λ₯Ό μ„ μ–Έ
#include <iostream>
#include <algorithm>    // find
#include <string>
#include <cmath>        // abs
#include <vector>
#include <queue>
using namespace std;

int main() {
	int k = 0;
	cin >> k;

	while (k--) {

		int p = 0, m = 0;
		// μ°Έκ°€μžμ˜ 수 P와 자리의 수 M이
		cin >> p >> m;

		bool arr[501] = {};

		int cnt = 0;

		for (int i = 0; i < p; i++) {
			// 각 μ°Έκ°€μžκ°€ μ›ν•˜λŠ” 자리
			int now = 0;
			cin >> now;

			// μ›ν•˜λŠ” μžλ¦¬μ— λˆ„κ΅°κ°€ μ•‰μ•„μžˆλ‹€λ©΄ cntλ₯Ό ν•˜λ‚˜ 늘렀주고
			if (arr[now]) {
				cnt++;
			}
			else {
			// 아무도 μ•‰μ•„μžˆμ§€ μ•Šλ‹€λ©΄ ν•΄λ‹Ή μžλ¦¬μ— μ•‰μ•˜λ‹€λŠ” 의미의 1
				arr[now] = 1;
			}
		}

		cout << cnt << endl;
	}


    return 0;
}

728x90
λ°˜μ‘ν˜•
Comments