※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※

 

이번에 볼 문제는 백준 24606번 문제인 Double Password이다.
문제는 아래 링크를 확인하자.

https://www.acmicpc.net/problem/24606 

 

24606번: Double Password

A computer at ICPC headquarters is protected by a four-digit password---in order to log in, you normally need to guess the four digits exactly. However, the programmer who implemented the password check left a backdoor in the computer---there is a second f

www.acmicpc.net

각 자리마다 그 자리에 입력해서 통과될 수 있는 숫자는 두 비밀번호의 대응되는 자리의 수가 같다면 한 가지이고 다르다면 두 가지임을 관찰하자.

 

위 관찰을 이용하면 각 자리마다 입력할 수 있는 숫자의 가짓수를 곱하는 것으로 문제를 해결할 수 있음을 알 수 있다.

 

별해로, 그냥 0000부터 9999까지의 가능한 모든 네 자리의 구성을 직접 모두 시도하는 것으로도 문제를 충분히 해결할 수 있을 것이다.

 

아래는 제출한 소스코드이다.

#include <iostream>
#include <string>
using namespace std;

string p1, p2;
int ans = 1;

int main() {
	ios::sync_with_stdio(0);
	cin.tie(0);

	cin >> p1 >> p2;
	for (int i = 0; i < 4; i++) {
		if (p1[i] != p2[i]) ans *= 2;
	}

	cout << ans;
}
728x90

'BOJ' 카테고리의 다른 글

[BOJ 23663 // C++] Deja vu of Go Players  (0) 2022.12.09
[BOJ 24079 // C++] 移動 (Moving)  (0) 2022.12.09
[BOJ 26198 // C++] Chronogram  (0) 2022.12.09
[BOJ 2505 // C++] 두 번 뒤집기  (0) 2022.12.08
[BOJ 26209 // C++] Intercepting Information  (0) 2022.12.08

+ Recent posts