문제는 매우 물을 것으로 보인다 - 브러시를 찾을 수

보고서 문제 해결 2019년 8월 8일을

1. 완두콩 디지털 헌신과 그 과학의 분야에서 쉽게하지만, 그는 또한 아이들이 충분히 개발할 수 있도록하기 위해, 열광적 조금 걱정 부모로 만들어 보자는, 바로 옆 집에 연구의 자신의 분야를 확대하기로 결정 회화 교육 센터가있다 완두콩은 그림의 첫 번째 날이 완두콩은 또한 다양한 색상을 브러시을 많이 구입 브러시를 제공 강한 관심을 가지고하게 배울 가입 준, 완두콩은 같은 색상의 습관이 두 브러쉬 예비 구입하고, 따라서 총 브러쉬 NN 세이브 (NN도 1 <N 인 <1,061 <N <106). 그러나 이상한 질문 중 민감한 보급, 완두콩 뇌 팝의 번호는 : 눈을 가리고과 붓 중 하나를 빼앗긴 경우, 멀리 나머지 N-1N-1 브러쉬의 분석은 어떤 색상을 찾으려면 그는 그것을 대답 할 수 있습니까?

기입

첫 번째 라인은 타이틀에 기술되어 N-1 N-1을 나머지 브러시의 정수를 나타낸다.
두 번째 행 N-1 N-1의 공간 분리 된 양의 정수 (AI 1≤Ai <231) 인공 지능 ( 1≤Ai <231), 나머지 색 수는 상기 브러시를 나타낸다.
주 : 데이터는 나머지는 두 번 출연 한 브러시 색상 번호가 한 번 나타납니다 확인합니다.

수출

정수 라인 PP, 색상 번호는 브러시를 빼앗아 나타냅니다.

이 회사는 오 얼굴 질문이라고합니다 ......

우선, 당신은 확실히 방법을 생각한다 : 우리는 새로운 배열의 탄소 나노 튜브를 엽니 다. 각 입력 A [i]를, CNT [A [내가] ++; ; 마지막으로 1 == 사람을 확인하기 위해
음, 먼저 축하, 솔루션 생각합니다.
둘째, 내가 당신을 축하, 회사는 죽은 당신을 할 수 없습니다. . . 당신은 매운 닭 방법을 마련? ? 오버 플로우 스페이스 바를 대기. . .

내가 생각 침착 아래에서, 우리는 먼저 배열을 정렬 할 수 있습니다. 각 요소의 배열을 통해 내려다보고하는 것은 전혀 문제가 없다.
다음과 같이 코드입니다 :

#include<bits/stdc++.h>
using namespace std;
int n,a[1000010];
int main(){
    scanf("%d",&n);
    for(int i=1;i<=n;i++)
        scanf("%d",&a[i]);
    sort(a+1,a+n+1);
    for(int i=1;i<=n;i+=2)
        if(a[i]!=a[i+1]){
            printf("%d\n",a[i]);
            return 0;
        }
    return 0;
}

다시 한번 축하는 AC 코드를 기대하지만, 회사는 여전히 당신을 원하지 않습니다.

당신은 충분히 보여 있기 때문에, 충분히 빨리하지.

이 방법은 O (nlogn) 느린 죽음이다.
비트 컴퓨팅 : 그래서, 당신에게 어떤 의미 상 동작을 가르 칠 수 있습니다.
당신은 당신이 원하는 출력의 결과, 최대 배열이나 다른 각 숫자를 넣어. (난 당신이 이해하지 못했다 내기)
첫째, XOR (^) 그는 각 진 자리마다 디지털 바이너리로 설정하는 것입니다 : 설명해 드리죠
0 = 0 ^ 00 ^ 1 = 1 0 ^ 0 ^ 0 = 1 = 1
, 그 다음, 그것을 용이 ^ A가 = 0 인 것을 알 수있다. 그래서, 다른 모든 동일하거나 최대 다른와 무슨 일이 있었는지와 동일하게 설정합니다. 그래서, 최종 결과는 몇 찾고 ------ 당신입니다! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !

추천

출처www.cnblogs.com/tushukai/p/11324218.html