https://www.acmicpc.net/problem/2503
λ¬Έμ
μ 보문νμ§ν₯μ μ 보 μμ¬ λμ리μμ λμ리 νλμ νλ μμμ λ―Όνμ΄λ μ¬λ μκ°μ νν μ«μμΌκ΅¬ κ²μμ νκΈ°λ‘ νλ€.
- μμλ 1μμ 9κΉμ§μ μλ‘ λ€λ₯Έ μ«μ μΈ κ°λ‘ ꡬμ±λ μΈ μ리 μλ₯Ό λ§μμμΌλ‘ μκ°νλ€. (μ: 324)
- λ―Όνμ΄λ 1μμ 9κΉμ§μ μλ‘ λ€λ₯Έ μ«μ μΈ κ°λ‘ ꡬμ±λ μΈ μ리 μλ₯Ό μμμκ² λ¬»λλ€. (μ: 123)
- λ―Όνμ΄κ° λ§ν μΈ μ리 μμ μλ μ«μλ€ μ€ νλκ° μμμ μΈ μ리 μμ λμΌν μ리μ μμΉνλ©΄ μ€νΈλΌμ΄ν¬ ν λ²μΌλ‘ μΌλ€. μ«μκ° μμμ μΈ μ리 μμ μκΈ΄ νλ λ€λ₯Έ μ리μ μμΉνλ©΄ λ³Ό ν λ²μΌλ‘ μΌλ€.
μ) μμκ° 324λ₯Ό κ°κ³ μμΌλ©΄
- 429λ 1 μ€νΈλΌμ΄ν¬ 1 λ³Όμ΄λ€.
- 241μ 0 μ€νΈλΌμ΄ν¬ 2 λ³Όμ΄λ€.
- 924λ 2 μ€νΈλΌμ΄ν¬ 0 λ³Όμ΄λ€.
- μμλ λ―Όνμ΄κ° λ§ν μκ° λͺ μ€νΈλΌμ΄ν¬ λͺ λ³ΌμΈμ§λ₯Ό λ΅ν΄μ€λ€.
- λ―Όνμ΄κ° μμμ μΈ μ리 μλ₯Ό μ ννκ² λ§μΆμ΄ 3 μ€νΈλΌμ΄ν¬κ° λλ©΄ κ²μμ΄ λλλ€. μλλΌλ©΄ λ―Όνμ΄λ μλ‘μ΄ μλ₯Ό μκ°ν΄ λ€μ μμμκ² λ¬»λλ€.
νμ¬ λ―Όνμ΄μ μμλ κ²μμ νκ³ μλ λμ€μ μλ€. λ―Όνμ΄κ° μμμκ² μ΄λ€ μλ€μ λ¬Όμ΄λ³΄μλμ§, κ·Έλ¦¬κ³ κ°κ°μ λ¬Όμμ μμκ° μ΄λ€ λλ΅μ νλμ§κ° μ λ ₯μΌλ‘ μ£Όμ΄μ§λ€. μ΄ μ λ ₯μ λ°νμΌλ‘ μ¬λ¬λΆμ μμκ° μκ°νκ³ μμ κ°λ₯μ±μ΄ μλ μκ° μ΄ λͺ κ°μΈμ§λ₯Ό μμλ§νμΌ νλ€.
μλμ κ°μ κ²½μ°λ₯Ό μκ°ν΄λ³΄μ.
- λ―Όν: 123
- μμ: 1 μ€νΈλΌμ΄ν¬ 1 λ³Ό.
- λ―Όν: 356
- μμ: 1 μ€νΈλΌμ΄ν¬ 0 λ³Ό.
- λ―Όν: 327
- μμ: 2 μ€νΈλΌμ΄ν¬ 0 λ³Ό.
- λ―Όν: 489
- μμ: 0 μ€νΈλΌμ΄ν¬ 1 λ³Ό.
μ΄λ κ°λ₯ν λ΅μ 324μ 328, μ΄λ κ² λ κ°μ§μ΄λ€.
μμλ λμ리μ κ·μ¨μ μ λ°λ₯΄λ μ°©ν μμ΄λΌ λ―Όνμ΄μ λ¬Όμμ 곧μ΄κ³§λλ‘ μ μ§νκ² λ΅νλ€. κ·Έλ¬λ―λ‘ μμμ λ΅λ€μλ λͺ¨μμ΄ μλ€.
λ―Όνμ΄μ λ¬Όμλ€κ³Ό κ°κ°μ λ¬Όμμ λν μμμ λ΅μ΄ μ λ ₯μΌλ‘ μ£Όμ΄μ§ λ μμκ° μκ°νκ³ μμ κ°λ₯μ±μ΄ μλ λ΅μ μ΄ κ°μλ₯Ό μΆλ ₯νλ νλ‘κ·Έλ¨μ μμ±νμμ€.
μ λ ₯
첫째 μ€μλ λ―Όνμ΄κ° μμμκ² λͺ λ²μ΄λ μ§λ¬Έμ νλμ§λ₯Ό λνλ΄λ 1 μ΄μ 100 μ΄νμ μμ°μ Nμ΄ μ£Όμ΄μ§λ€. μ΄μ΄μ§λ Nκ°μ μ€μλ κ° μ€λ§λ€ λ―Όνμ΄κ° μ§λ¬Έν μΈ μ리 μμ μμκ° λ΅ν μ€νΈλΌμ΄ν¬ κ°μλ₯Ό λνλ΄λ μ μμ λ³Όμ κ°μλ₯Ό λνλ΄λ μ μ, μ΄λ κ² μ΄ μΈ κ°μ μ μκ° λΉμΉΈμ μ¬μ΄μ λκ³ μ£Όμ΄μ§λ€.
μΆλ ₯
첫 μ€μ μμκ° μκ°νκ³ μμ κ°λ₯μ±μ΄ μλ λ΅μ μ΄ κ°μλ₯Ό μΆλ ₯νλ€.
νμ΄
2%μμ νλ Έμ΅λλ€ κ° λ¬λ€λ©΄
μ λ΅μ΄ λ μ μλ μ«μλ
μ«μ 0μ΄ ν¬ν¨λμ§ μκ³ μλ‘λ€λ₯Έ μ«μλ€λ‘ μ΄λ£¨μ΄μ ΈμΌνλ€λ
μ‘°κ±΄μ΄ μλ€λμ μ μ μνμ
4%μμ νλ Έμ΅λλ€ κ° λ¬λ€λ©΄
μ«μμ΄μ 0μ΄ ν¬ν¨λμ§ μμμΌνλ€λ 쑰건μ μ μνμ
(λ³Έ νμ΄μμλ int κ° μλ stringμΌλ‘ μ²λ¦¬ν΄μ€¬κΈ°μ ansString[0]=='0' μ΄λ©΄ μ μΈμν€λλ‘ μ½λλ₯Ό μ§°λ€.)
// Authored by : seondal
// Co-authored by : -
// #include <bits/stdc++.h>
#include <iostream>
#include <vector>
using namespace std;
struct input {
string number;
int strike;
int ball;
};
int n;
vector<input> v;
// μ λ΅λ¬Έμμ΄μ΄ iλ²μ§Έ μΌμ΄μ€μ ν΄λΉνλμ§ μ¬λΆλ₯Ό λ°ννλ ν¨μ
bool isCaseRight(int i, string ansString) {
string num = v[i].number;
int b=0, s=0;
for(int j=0; j<3; j++) {
for(int k=0; k<3; k++) {
if(num[j]==ansString[k]) {
if(j==k)
s++;
else
b++;
}
}
}
if(b==v[i].ball && s==v[i].strike)
return true;
return false;
}
// iκ°μ μΌμ΄μ€μ€ λ¨ νλλΌλ μλ§μΌλ©΄ false
bool isNumRight(string ansString) {
for(int i=0; i<n; i++)
if(!isCaseRight(i, ansString))
return false;
return true;
}
int solution() {
int ans=0;
for(int i=123; i<999; i++) {
// λ΅μ΄λ μ μλ λ¬Έμμ΄λ€μ μ λΆ λ€ λμλ³Έλ€. (λΆλ₯΄νΈν¬μ€)
string ansString = to_string(i);
// λ΅ μ«μμ΄μλ μ«μ 0μ μ μΈν μλ‘ λ€λ₯Έ μ«μλ‘ μ΄λ£¨μ΄μ Έμμ΄μΌνλ€.
if(ansString[0]=='0' || ansString[1]=='0' || ansString[2]=='0')
continue;
if(ansString[0]==ansString[1] || ansString[1]==ansString[2] || ansString[2]==ansString[0])
continue;
if(isNumRight(ansString))
ans++;
}
return ans;
}
int main() {
ios_base :: sync_with_stdio(false);
cin.tie(NULL); cout.tie(NULL);
cin >> n;
for(int i=0; i<n; i++) {
string n;
int s,b;
cin >> n >> s >> b;
v.push_back({n,s,b});
}
cout << solution();
return 0;
}
/*
*/
'ποΈ ICPC Sinchon > Simulation' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[BOJ S2][C++] λ°±μ€ 3085λ²: μ¬ν κ²μ (0) | 2022.11.07 |
---|---|
[BOJ S4][C++] λ°±μ€ 1244λ²: μ€μμΉ μΌκ³ λκΈ° (0) | 2022.10.17 |
[BOJ G5][C++] λ°±μ€ 20055λ²: μ»¨λ² μ΄μ΄ λ²¨νΈ μμ λ‘λ΄ (0) | 2022.10.03 |
[BOJ S1][C++] λ°±μ€ 20923λ²: μ«μ ν 리κ°λ¦¬ κ²μ (0) | 2022.09.30 |
[BOJ][C++] λ°±μ€ 14891λ²: ν±λλ°ν΄ (0) | 2022.09.20 |