각종대회/번역2013. 7. 25. 20:46

FJ N마리(1 <= N <= 50,000) 소들이 한 줄로 서 있다. 모든 소는 정수로 표시된 품종 ID가 있다.

품종이 같은 소들은 너무 가까이 붙어있을 경우 싸울 수도 있다.

품종이 같은 소들의 거리가 K(1 <= K < N) 이하일 때 혼잡하다고 말한다.

혼잡한 소들의 품종 ID 중 최댓값을 구하는 프로그램을 만드시오.

 

PROBLEM NAME : proximity


INPUT FORMAT

Line 1 : N, K가 한 줄에 주어진다.

Line 2~N+1 : 한 줄로 서 있는 각 소들의 출신지 ID가 주어진다. 모든 정보는 0 1,000,000 사이의 정수이다.


OUTPUT FORMAT

Line 1 : “혼잡한 소들의 품종 ID 중 최댓값을 출력하시오존재하지 않는 경우 1을 출력한다.


SAMPLE INPUT

6 3 7 3 4 2 3 4


SAMPLE OUTPUT

4


http://www.usaco.org/index.php?page=viewproblem2&cpid=260

Posted by 알 수 없는 사용자
각종대회/풀이2013. 7. 25. 20:38

문제의 조건에서, 소들이 달리는 시간은 길어봤자 100만(10^6)임을 알 수 있다.  따라서 모든 시간에서 두 소의 위치를 측정하면서 'leadership change'가 몇번 일어나는지만 구하면 된다.

Posted by 알 수 없는 사용자
Android Developing2013. 7. 25. 19:14

1. 안드로이드 개발의 시작

1.1 여는 글

 구글의 스마트폰 운영체제안드로이드 (Android)는 2008년 9월 세상에 공개된 이래 무궁무진하게 발전해왔습니다오픈 핸드셋 얼라이언스(OHA)의 첫 작품이기도 한 안드로이드는 애플(Apple)의 iOS와 함께 세계 스마트폰 OS시장의 80%를 이끌고 있을 정도로 대단한 파급력을 미치고 있습니다.
 이런 안드로이드 프로젝트에서의 애플리케이션 개발은 충분히 매력적이고 도전할 만한 가치가 있는 일이라고 생각됩니다그러나사실 애플리케이션 개발이라는 것 자체가 첫 걸음을 때기가 쉽지 않은 것은 자명한 사실입니다앞으로 필자는 애플리케이션 개발에 대한 기초적인 지식들과직접 애플리케이션을 개발하면서 겪은 사례들을 바탕으로 초보 개발자들에게 도움이 될 만한 글들을 많이 게시할 계획입니다.
 애플리케이션 같은 실전 프로그래밍에서는 사실 알고리즘에 큰 의미를 두고 싶지는 않습니다다만 번뜩이는 아이디어이를 살릴 수 있는 코딩 능력이를 쓸모있게 해주는 디자인 능력의 세 요소가 더 중요하다고 개인적으로는 생각합니다이에 필자는 알고리즘같은 요소 보다는 안드로이드 소프트웨어 개발자용 키트(Android Software Developer Kit, SDK)와 그 내용물을 잘 활용하고 써먹을 수 있는 데에 중점을 두려고 합니다.

본문추가내용
최근 Google은 개발자의 편의를 위해 기존의 개별 설치가 필요한 항목들을 패키지 형태로 묶어 제공하고 있습니다이에 대한 내용을 추가하였습니다.


1.2 안드로이드 개발의 시작

개발을 위해 장착할 도구들
우선 안드로이드 개발을 위해서 장착해야될 도구들 부터 설명드리겠습니다.

Java Developer Kit (JDK)
Eclipse + ADT Plug-in
Android Software Developer Kit (SDK)

이러한 도구들은 앞으로 자주 마주치게 될 것이니 안면을 잘 익혀두기로 합시다.

 

Java Developer Kit(JDK)
안드로이드의 기본 언어는 Java이고개발 환경 자체가 Java 실행 환경(JRE) 요구하는 실정이기에, JDK 설치가 필요합니다아래 링크를 따라 JAVA SE 7u4 설치해주세요. JDK JRE  JDK 설치하세요. JRE JDK 내부에 포함되어있습니다.

http://www.oracle.com/technetwork/java/javase/downloads/

워낙 모든 것이 급변하다보니 위 사이트도 언젠가는 바뀔 지도 모릅니다실제로 Sun사를 오라클이 인수한 뒤 다운로드 경로가 변경되고또 한 번의 변경이 있으며 많은 변화가 이루어졌습니다. 2013년 7월 현재 사이트는 다음과 같은 모습이며최신 버전은 JAVA SE 7u25입니다버전이 올라가면 가급적 최신 버전을 설치해주세요.



이클립스(Eclipse)
안드로이드는 물론 명령행만으로 개발이 가능하나누가 그렇게 번거로운 일을 할까요그래서 안드로이드는 이클립스(Eclipse)라는 통합 환경을 제공합니다이클립스는 무료 오픈 소스 SW다양한 언어로의 개발을 지원합니다.

최근에는 Google에서 Eclipse에 자체 ADT 번들 (Android Developer Tool)을 장착한 패키지를 배포하고 있습니다다음 링크에서 확인하실 수 있습니다.

http://developer.android.com/sdk/index.html


다운로드 받은 후 적절한 위치에 압축을 푼 후 Eclipse 폴더에 들어있는 eclipse.exe 파일을 실행합니다.



주의!

Windows 계정 이름에 한글이 포함되어있을 경우 오류가 뜰 수 있습니다계정 이름을 반드시 영어로 설정하여주세요.




개발할 작업 공간을 지정하는 화면입니다앞으로 작업하는 모든 파일이 저장될 곳이니 잘 기억해두세요.


이로서 안드로이드 개발을 위한 기초 환경 기반 마련이 완료되었습니다! 설치 과정이나 eclipse 실행 과정 중 다소 오류가 발생할 수도 있습니다. 흔한 오류의 해법은 인터넷에 제시되어있으니 검색하여보시길 바라며, 그래도 해결이 안되실 경우는 아래 이메일로 질문 남겨주세요.

hellodhlyn@hanmail.net

다음 장에는 에뮬레이터 생성부터, HelloWorld 예제 제작까지 실시해보도록 하겠습니다.



Posted by 알 수 없는 사용자