[λ°±μ€/C++] 9375λ²: ν¨μ μ μ ν΄λΉ
λ¬Έμ
ν΄λΉμ΄λ ν¨μ μ λ§€μ° λ―Όκ°ν΄μ νλ² μ μλ μ·λ€μ μ‘°ν©μ μ λ λ€μ μ μ§ μλλ€. μλ₯Ό λ€μ΄ μ€λ ν΄λΉμ΄κ° μκ²½, μ½νΈ, μμ, μ λ°μ μ μλ€λ©΄, λ€μλ μ λ°μ§λ₯Ό μΆκ°λ‘ μ κ±°λ μκ²½λμ λ μ¦λ₯Ό μ°©μ©νκ±°λ ν΄μΌνλ€. ν΄λΉμ΄κ° κ°μ§ μμλ€μ΄ μ£Όμ΄μ‘μλ κ³Όμ° ν΄λΉμ΄λ μλͺΈμ΄ μλ μνλ‘ λ©°μΉ λμ λ°μ λμλ€λ μ μμκΉ?
μ λ ₯
첫째 μ€μ ν μ€νΈ μΌμ΄μ€κ° μ£Όμ΄μ§λ€. ν μ€νΈ μΌμ΄μ€λ μ΅λ 100μ΄λ€.
- κ° ν μ€νΈ μΌμ΄μ€μ 첫째 μ€μλ ν΄λΉμ΄κ° κ°μ§ μμμ μ n(0 ≤ n ≤ 30)μ΄ μ£Όμ΄μ§λ€.
- λ€μ nκ°μλ ν΄λΉμ΄κ° κ°μ§ μμμ μ΄λ¦κ³Ό μμμ μ’ λ₯κ° κ³΅λ°±μΌλ‘ ꡬλΆλμ΄ μ£Όμ΄μ§λ€. κ°μ μ’ λ₯μ μμμ νλλ§ μ μ μ μλ€.
λͺ¨λ λ¬Έμμ΄μ 1μ΄μ 20μ΄νμ μνλ²³ μλ¬Έμλ‘ μ΄λ£¨μ΄μ ΈμμΌλ©° κ°μ μ΄λ¦μ κ°μ§ μμμ μ‘΄μ¬νμ§ μλλ€.
μΆλ ₯
κ° ν μ€νΈ μΌμ΄μ€μ λν΄ ν΄λΉμ΄κ° μλͺΈμ΄ μλ μνλ‘ μμμ μ μ μ μλ κ²½μ°λ₯Ό μΆλ ₯νμμ€.
νμ΄
mapμ μ¬μ©ν λ¬Έμ
1. κ° μμμ΄ λ€μ΄μ¬ λλ§λ€ ν΄λΉ μμμ κ°μ§μ +1
2. μ’ λ₯ κ°μλ§νΌ iterλ₯Ό λλ©΄μ ν΄λΉ μμμ μ λ κ²½μ°μ μ μ λ κ²½μ°λ₯Ό ν¬ν¨νμ¬ κ³μ°
3. λ§μ§λ§μ μλͺΈμ΄ λλ κ²½μ°λ₯Ό μ μΈ
#include <iostream>
#include <map>
using namespace std;
int main() {
int n, t;
string type, outfit;
cin >> n;
while(n--){
cin >> t;
// μ·μ μ’
λ₯, μ«μλ₯Ό μ μ₯
map<string, int> m;
while (t--){
cin >> outfit >> type;
m[type]++;
}
// μ°μ°
int ans = 1;
for (auto iter = m.begin(); iter != m.end(); iter++)
ans *= (iter->second + 1);
// μλͺΈμΈ κ²½μ° μ μΈ
cout << ans - 1 << "\n";
}
}