728x90
반응형
#include <iostream>
#include <vector>
#include<map>
#include<string>
using namespace std;
struct info {
int n;
int s;
int b;
};
vector<info>arr;
bool cal(int a) { //두 수 스트라이크 볼 계산
string s = to_string(a);
bool flag = true;
for (int i = 0; i < arr.size(); i++) {
string num =to_string(arr[i].n);
int cal_strike = 0;
int cal_ball = 0;
for (int j = 0; j < 3; j++) {
for (int k = 0; k < 3; k++) {
if (s[j] == num[k]) {
if (j == k) {
cal_strike++;
}
else {
cal_ball++;
}
}
}
}
int strike = arr[i].s;
int ball = arr[i].b;
flag *= ((strike == cal_strike) && (ball == cal_ball));
}
return flag;
}
int main()
{
ios::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
int n;
cin >> n;
int m;
int strike, ball;
while (n--) {
cin >> m >> strike >> ball;
arr.push_back({ m,strike,ball });
}
int cnt = 0;
int sum = 0;
for (int i = 1; i <= 9; i++) {
for (int j = 1; j <= 9; j++) {
for (int k = 1; k <= 9; k++) {
if (i != j && j != k && i!=k) {
sum += (i * 100 + j * 10 + k);
if (cal(sum))cnt++;
sum = 0;
}
}
}
}
cout << cnt;
}
728x90
반응형
'하루 1문제 챌린지 > Silver3' 카테고리의 다른 글
백준 12018번 Yonsei TOTO (C++) (0) | 2024.02.15 |
---|---|
백준 1448번 삼각형 만들기(C++) (0) | 2024.02.13 |
백준 3077번 임진왜란 (C++) (1) | 2024.02.12 |
백준 15657번 N과 M(8) C++ (0) | 2024.01.31 |
백준 15655번 N과 M(6) C++ (0) | 2024.01.31 |