#include <cstdio> #include <iostream> using namespace std; int main(int argc, char** argv) { setbuf(stdout, NULL); int TC; int test_case; scanf("%d", &TC); // cin 사용 가능 for (test_case = 1; test_case <= TC; test_case++) { // 이 부분에서 알고리즘 프로그램을 작성하십시오. int N, ret = 0; cin >> N; for (int i = 0; i<N; ++i) { int num; cin >> num; ret ^= num; } // 이 부분에서 정답을 출력하십시오. printf("Case #%d\n", test_case); // cout 사용 가능 cout << ret << endl; } system("pause"); return 0; // 정상종료 시 반드시 0을 리턴해야 합니다. } |
2 3 5 5 를 넣는다고 가정을 해보고 풀어보도록 하겠습니다. 엔과 리절트 변수를 선언합니다. 그리고 4를 받습니다. 그리고 0 ,1, 2, 3 총 4번을 돌립니다. 그리고 넘버를 받습니다. 그리고 2 3 5 5 를 받는 즉즉 이것을 xor 을 합니다. 헐 xor 같은 숫자를 하면 없어지는 것을 이용한 것이네요. 예를 들어 5 5 의 경우에는 0101 0101 이니까 이것을 ^ 연산을 하게 되면 0 0 0 0 이 됩니다. 없는 것과 마찬가지입니다. 이거 xor 연산에 대해서 알고 있는지를 물어본 것입니다.