728x90

프로그래밍 410

백준] 5026 - 박사 과정(ACM-ICPC Regional)

시간 제한 : 1초메모리 제한 : 128MB 입력첫째 줄에 문제의 개수 N이 주어진다. (1 ≤ N ≤ 1000) 다음 N개 줄에는 "a+b"형식의 덧셈 문제나 "P=NP"가 주어진다. a,b ∈ [0,1000]이며 a와 b는 정수이다. 출력P=NP가 문제인 경우에는 skipped를, 덧셈 문제인 경우에는 덧셈한 결과를 출력한다. 소스코드 #include #include using namespace std; int main(void) { int n; string s; cin >> n; while (n--) { cin >> s; if (s == "P=NP") cout

백준] 11404 - 플로이드

시간 제한 : 1초메모리 제한 : 256MB 입력첫째 줄에 도시의 개수 n(1≤n≤100)이 주어지고 둘째 줄에는 버스의 개수 m(1≤m≤100,000)이 주어진다. 그리고 셋째 줄부터 m+2줄까지 다음과 같은 버스의 정보가 주어진다. 먼저 처음에는 그 버스의 출발 도시의 번호가 주어진다. 버스의 정보는 버스의 시작 도시 a, 도착 도시 b, 한 번 타는데 필요한 비용 c로 이루어져 있다. 시작 도시와 도착 도시가 같은 경우는 없다. 비용은 100,000보다 작거나 같은 자연수이다. 출력N개의 줄을 출력해야 한다. i번째 줄에 출력하는 j번째 숫자는 도시 i에서 j로 가는데 필요한 최소 비용이다. 만약, i에서 j로 갈 수 없는 경우에는 그 자리에 0을 출력한다. 소스코드 #include #define ..

백준] 10474 - 분수 좋아해?(ACM-ICPC Regional)

시간 제한 : 2초메모리 제한 : 256MB 입력한 줄에 걸쳐 한 테스트 케이스가 입력된다. 각각의 테스트 케이스는 [1, 2^31 - 1]범위의 두 정수가 입력된다. 첫번째 정수는 분자고 두번째는 분모이다. "0 0" 입력이 들어오는 라인에서 입력을 종료한다. 출력각 테스트 케이스에 대해 한 줄에 걸쳐 주어진 입력에 맞는 대분수를 공백토큰으로 구분하여 출력하라. 소스코드 #include using namespace std; int main(void) { int x, y; while (1) { cin >> x >> y; if (x == 0 && y == 0) break; cout

Arduino] 아두이노의 입출력 함수, 시간함수 정리

Digital I/O void pinMode(uint8_t pin, uint8_t mode)pin : 설정하고자 하는 핀 번호mode : INPUT, OUTPUT, INPUT_PULLUP 중 하나반환값 : 없음 void digitalWrite(uint8_t pin, uint8_t value)pin : 핀 번호value : HIGH 또는 LOW반환값 : 없음 int digitalRead(uint8_t pin)pin : 핀 번호반환값 : HIGH 또는 LOW Analog I/O void analogReference(uint8_t type)type : DEFAULT, INTERNAL, INTERNAL1V1, INTERNAL2V56, EXTERNAL 중 한 가지반환값 : 없음 int analogRead(uint..

백준] 10158 - 개미(KOI 2014 지역본선)

시간 제한 : 1초메모리 제한 : 256MB 입력첫줄에는 w와 h가 공백을 사이에 두고 주어진다. 그 다음 줄에는 초기 위치의 좌표값 p와 q가 공백을 사이에 두고 주어진다. 3번째 줄에는 개미가 움직일 시간 t가 주어진다. 출력출력은 t 시간 후에 개미의 위치 좌표 (x,y)의 값 x와 y를 공백을 사이에 두고 출력한다. 소스코드 #include using namespace std; int main(void) { int w, h, curx, cury, dx, dy, t; cin >> w >> h >> curx >> cury >> t; dx = dy = 1; for (int i = 0; i w || curx + dx < 0) dx = -dx; if (cu..

백준] 2631 - 줄세우기(KOI 2001)

시간 제한 : 1초메모리 제한 : 128MB 입력첫째 줄에는 아이들의 수 N이 주어진다. 둘째 줄부터는 1부터 N까지의 숫자가 한 줄에 하나씩 주어진다. N은 2 이상 200 이하의 정수이다. 출력첫째 줄에는 번호 순서대로 줄을 세우는데 옮겨지는 아이들의 최소 수를 출력한다. 소스코드 #include using namespace std; int main(void) { int n, max, arr[201] = { 0, }, dp[201] = { 0, }; cin >> n; for (int i = 1; i > arr[i]; for (int i = 1; i

C,C++] Visual Studio와 컴파일러

요즘 대학교 전산실 컴퓨터 성능이 기본적으로 멀티코어에 8GB의 램을 깔고 가는 경우가 많다 보니, 통합개발도구(IDE)로 Visual Studio 커뮤니티를 사용하는 경우가 많다. 그 언어 자체의 특성과 프로그래밍에 대해서 다루기 때문에 컴퓨팅 성능이 문제가 되지 않는다면 Visual Studio가 제공하는 여러 환경만큼 입문하는 사람에게 좋은 것은 없다. 이렇게 입문하고서 한창 프로그래밍을 즐기다가 자료구조, 알고리즘 등을 접하고, 좀 더 자신의 실력을 향상시키기 위해서 백준 온라인 저지(BOJ)나, 알고스팟 등의 사이트에서 제공하는 문제를 풀다보면 Visual Studio에서는 정상적으로 작동함에도 불구하고 채점 시 컴파일 에러를 띄우는 문제를 접하게 된다. 예를 들자면, strlen()을 사용하는..

C++] 공백을 포함하는 문자열 여러 줄 입력 받기

문자열 처리 문제는 대부분 공백을 포함하는 한 문장을 다루는 문제가 많다.간혹 그 이상의 문장을 처리해야 하는 문자열 처리 문제가 주어지는 경우가 있는데 이 때 공백을 포함하는 문장을 EOF가 입력될 때까지 문장을 입력 받고 싶다면 아래처럼 처리하면 된다. vector s; string str; while (getline(cin, str)) s.push_back(str); 문장의 수가 예상 가능하다면 동적 배열 vector가 아닌 정적 배열을 선언해도 좋다.

728x90