코드 복사/붙여넣기 하는 당신이 아름답습니다.

2503 : 숫자 야구

풀이

모든 숫자랑 모든 질문을 비교 해주자.

코드

#include <stdio.h>

int n, ans, a[3], b[3];
struct ABC {
	int num, st, ba;
} qry[101];

int main() {
	scanf("%d", &n);
	for (int i = 0; i < n; i++) {
		scanf("%d %d %d", &qry[i].num, &qry[i].st, &qry[i].ba);
	}

	for (int i = 123; i <= 987; i++) {
		int cnt = 0;
		a[0] = i/100, a[1] = i/10%10, a[2] = i%10;
		if (!a[1] || !a[2] || a[0] == a[1] || a[1] == a[2] || a[2] == a[0]) continue;
		for (int j = 0; j < n; j++) {
			int st = 0, ba = 0, t = qry[j].num;
			b[0] = t/100, b[1] = t/10%10, b[2] = t%10;
			for (int k = 0; k < 3; k++) {
				if (a[k] == b[k]) st++;
				if (a[k] == b[(k+1)%3] || a[k] == b[(k+2)%3]) ba++;
			}
			if (st == qry[j].st && ba == qry[j].ba) cnt++;
		}
		if (cnt == n) ans++;
	}

	printf("%d", ans);

	return 0;
}

아무말

백준, 백준 온라인 저지, BOJ, Baekjoon Online Judge, C, C++, 씨, 씨쁠쁠, JAVA, algorithm, 자바, 알고리즘, 자료구조, 문제, 문제 풀이, 풀이

wookje.kwon's profile image

wookje.kwon

2018-02-02 00:32

Read more posts by this author