import java.util.Scanner;
public class Main {
public static class Baseball{
int num;
int strick;
int ball;
public Baseball() {}
public Baseball(int num,int strick,int ball) {
this.num = num;
this.strick=strick;
this.ball =ball;
}
}
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
int n;
Scanner sc = new Scanner(System.in);
n = sc.nextInt();
Baseball[] baseBall = new Baseball[n];
int i, num, st, ba;
for (i = 0; i < n; i++) {
num = sc.nextInt();
st = sc.nextInt();
ba = sc.nextInt();
baseBall[i] = new Baseball(num,st,ba);
}
int cnt = 0;
for (i = 100; i <= 999; i++) {
if(i==324)
{
int imsi=0;
}
if (check(baseBall, n, i)) {
cnt++;
}
}
System.out.print(cnt);
}
private static boolean check(Baseball[] baseBall, int n, int num) {
// TODO Auto-generated method stub
int a1 = num / 100;
int a2 = (num / 10) % 10;
int a3 = num % 10;
int i;
if (a1 == a2 || a1 == a3 || a2 == a3) {
return false;
}
if (a1 == 0 || a2 == 0 || a3 ==0) {
return false;
}
for (i = 0; i < n; i++) {
int bnum = baseBall[i].num;
int b1 = bnum /100;
int b2 = (bnum / 10) % 10;
int b3 = bnum % 10;
int stcnt = 0;
int bacnt = 0;
if (a1 == b1) stcnt++;
if (a2 == b2) stcnt++;
if (a3 == b3) stcnt++;
if (a1 == b2 || a1 == b3) bacnt++;
if (a2 == b1 || a2 == b3) bacnt++;
if (a3 == b1 || a3 == b2) bacnt++;
if (stcnt != baseBall[i].strick) return false;
if (bacnt != baseBall[i].ball) return false;
}
return true;
}
}
http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=1035&sca=2060
'정올문제소스코드' 카테고리의 다른 글
1697 : 큐(queue) (0) | 2021.10.31 |
---|---|
1102 : 스택 (stack) (0) | 2021.10.31 |
3427 : 볼 모으기(balls) (0) | 2021.10.29 |
2259 : 참외밭 (0) | 2021.10.29 |
1836 : 연속부분합 찾기 (0) | 2021.10.29 |