반응형
http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&code=1239&sca=99
#include <stdio.h>
//각 문자의 암호, Letter[0]은 C[0]='A'와 대응됨
int Letter[8][6] = { {0,0,0,0,0,0}, {0,0,1,1,1,1}, {0,1,0,0,1,1}, {0,1,1,1,0,0},
{1,0,0,1,1,0}, {1,0,1,0,0,1}, {1,1,0,1,0,1}, {1,1,1,0,1,0} };
//각 문자
char C[8] = { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H' };
char Ans[10];
int N, tmp[6], cnt;
int GetC() {
int failcnt;
for (int i = 0; i < 8; i++) {
failcnt = 0;
for (int j = 0; j < 6; j++) {
if (Letter[i][j] != tmp[j]) failcnt++;
if (failcnt >= 2) break; //암호가 2개 이상 틀리면 실패
}
if (failcnt <= 1) return i; //암호 1개만 틀리면 그 복원가능
}
return -1;
}
int main(void)
{
scanf("%d ", &N);
int idx, failidx = -1;
for (int i = 0; i < N; i++) {
for (int j = 0; j < 6; j++) scanf("%1d", &tmp[j]);
idx = GetC(); //암호 6자를 받아서 어떤 문자인지 알아냄
if (idx == -1) { failidx = i + 1; break; } //실패하면 문자의 번호 출력
else Ans[cnt++] = C[idx];
}
if (failidx != -1) printf("%d", failidx);
else printf("%s", Ans);
return 0;
}
반응형
'프로그래밍 알고리즘' 카테고리의 다른 글
[정올 1262] 긴 자리 곱셈 (0) | 2023.01.03 |
---|---|
[정올 1240] 제곱근 (0) | 2023.01.02 |
[정올 1214] 히스토그램 (1) | 2022.12.31 |
[정올 1183] 동전자판기(하) (0) | 2022.12.31 |
[정올 1175] 주사위던지기2 (0) | 2022.12.31 |