본문 바로가기
[백준]

[BaekJoon/백준] 3009번

by Hevton 2020. 9. 22.
반응형

XOR 연산을 사용하면 짧게 풀 수 있다.

 

보안쪽에선 간단하게 XOR 연산으로 암호화/복호화 를 구현할 수 있는데

A ^ B 한 값을 다시 ^B로 연산하면 A 자기 자신이 되는 특성을 이용하면 된다.

1. A ^ B = C

2. C ^ B = A

( 암호화 하고 싶은 값을 특정한 값으로 XOR 연산을 해주면 일종의 암호화가 되고, 다시 그 값으로 XOR 해주면 복호화가 된다. 일종의 key를 통해서 암호화 복호화를 진행하는 것.)

#include <stdio.h>
int main() {
    int a, b, c, d, e, f;
    scanf("%d %d %d %d %d %d", &a, &b, &c, &d, &e, &f);
    printf("%d %d", a^c^e, b^d^f);
}

 

▶︎ XOR의 특징

같으면 0, 다르면 1

1 XOR 1 = 0

1 XOR 0 = 1

0 XOR 1 = 1

0 XOR 0 = 0

 

▶︎ 예시

1. 0과 했을 때

A ^ 0 = A

 

2. 자기 자신과 했을 때

A ^ A = 0

반응형

'[백준]' 카테고리의 다른 글

[BaekJoon/백준] 10872번  (0) 2020.09.23
[BaekJoon/백준] 3053번  (0) 2020.09.22
[BaekJoon/백준] 1085번  (0) 2020.09.21
[BaekJoon/백준] 9020번  (0) 2020.09.21
[BaekJoon/백준] 1929번 에라토스테네스의 체  (0) 2020.09.20