728x90

algorithm 230

백준] 14501 - 퇴사

시간 제한 : 2초메모리 제한 : 512MB 입력첫째 줄에 N (1 ≤ N ≤ 15)이 주어진다.둘째 줄부터 N개의 줄에 Ti와 Pi가 공백으로 구분되어서 주어지며, 1일부터 N일까지 순서대로 주어진다. (1 ≤ Ti ≤ 5, 1 ≤ Pi ≤ 1,000) 출력첫째 줄에 백준이가 얻을 수 있는 최대 이익을 출력한다. 소스코드 #include #include using namespace std; int main(void) { pair arr[16] = { {0,0}, }; int dp[16] = { 0, }, n; cin >> n; for (int i = 0; i > arr[i].first >> arr[i].second; for (int i = 0; i < n; i++) { if ..

백준] 5212 - 지구 온난화(COCI 2012/2013)

시간 제한 : 1초메모리 제한 : 128MB 입력첫째 줄에 지도의 크기 R과 C (1 ≤ R, C ≤ 10)가 주어진다. 다음 R개 줄에는 현재 지도가 주어진다. 출력50년 후의 지도를 출력한다. 소스코드 #include #include using namespace std; int main(void) { int r, c, startR, startC, endR, endC; string arr[10], next[10]; cin >> r >> c; for (int i = 0; i > arr[i]; next[i] = arr[i]; } for (int i = 0; i < r; i++) { for (int j = 0; j < c; j++) { if ((char)arr[i][j] == ..

백준] 11403 - 경로 찾기

시간 제한 : 1초메모리 제한 : 256MB 입력첫째 줄에 정점의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄부터 N개 줄에는 그래프의 인접 행렬이 주어진다. i번째 줄의 j번째 숫자가 1인 경우에는 i에서 j로 가는 간선이 존재한다는 뜻이고, 0인 경우는 없다는 뜻이다. i번째 줄의 i번째 숫자는 항상 0이다. 출력총 N개의 줄에 걸쳐서 문제의 정답을 인접행렬 형식으로 출력한다. 정점 i에서 j로 가는 경로가 있으면 i번째 줄의 j번째 숫자를 1로, 없으면 0으로 출력해야 한다. 소스코드 #include using namespace std; int graph[100][100], n; void Floyd() { for (int k = 0; k < n; k++) for (int i = 0; i ..

백준] 2669 - 직사각형 네개의 합집합의 면적 구하기(KOI 1996)

시간 제한 : 1초메모리 제한 : 128MB 입력입력은 네 줄이며, 각 줄은 직사각형의 위치를 나타내는 네 개의 정수로 주어진다. 첫 번째와 두 번째의 정수는 사각형의 왼쪽 아래 꼭지점의 x좌표, y좌표이고 세 번째와 네 번째의 정수는 사각형의 오른쪽 위 꼭지점의 x좌표, y좌표이다. 모든 x좌표와 y좌표는 1이상이고 100이하인 정수이다. 출력첫 줄에 네개의 직사각형이 차지하는 면적을 출력한다. 소스코드 #include using namespace std; int main(void) { int d[101][101] = { 0, }, sum = 0; int x1, y1, x2, y2; for(int i=0;i> x1 >> y1 >> x2 >> y2; for (int i = x1; i < x2; i++) ..

백준] 1712 - 손익분기점

시간 제한 : 1초메모리 제한 : 128MB 입력첫째 줄에 A, B, C가 빈 칸을 사이에 두고 순서대로 주어진다. A, B, C는 21억 이하의 자연수이다. 출력첫 번째 줄에 손익분기점 즉 최초로 이익이 발생하는 판매량을 출력한다. 손익분기점이 존재하지 않으면 -1을 출력한다. 소스코드 #include using namespace std; int main(void) { int a, b, c; long long n; cin >> a >> b >> c; if (b >= c) cout

백준] 1978 - 소수 찾기

시간 제한 : 2초메모리 제한 : 128MB 입력첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다. 출력주어진 수들 중 소수의 개수를 출력한다. 소스코드#include #include using namespace std; int sosu(int n) { int i, cnt = 0; if (n == 1) { return 0; } else if (n == 2 || n == 3) { return 1; } else if (n % 6 == 1 || n % 6 == 5) { for (i = 1; i 1) { return 0; } } return 1; } else { return 0; } } int main(void) { int n; int a..

백준] 3046 - R2(COCI 2006/2007)

시간 제한 : 1초메모리 제한 : 128MB 두 숫자 R1과 R2가 있을 때, 두 수의 평균 S는 (R1+R2)/2와 같다. 상근이는 정인이 생일 선물로 두 숫자 R1과 R2를 주려고 한다. 생일 파티에서 상근이는 정인이에게 이 두 숫자를 말해주고, 정인이는 이 숫자를 받아 적는다. 그리고 나서 기쁜 마음으로 1년동안 이 숫자를 외우면서 산다.상근이는 R1과 R2를 엄청난 고민 끝에 정했다. 작년에는 R1과 R2를 까먹어서 아무 숫자나 정해서 주었기 때문에, 올해는 까먹지 않기 위해서 평균 S도 같이 기억하려고 한다.오늘은 정인이 생일이다. 5분 후에 상근이는 생일 선물로 두 숫자 R1과 R2를 말해주어야 하지만, 안타깝게도 R2를 까먹고 말았다. 하지만 R1과 S는 기억하고 있다!상근이를 도와 R2가 ..

728x90