본문 바로가기

C++11

[백준] 2579번 : 계단 오르기 https://www.acmicpc.net/problem/2579 2579번: 계단 오르기 계단 오르기 게임은 계단 아래 시작점부터 계단 꼭대기에 위치한 도착점까지 가는 게임이다. 과 같이 각각의 계단에는 일정한 점수가 쓰여 있는데 계단을 밟으면 그 계단에 쓰여 있는 점 www.acmicpc.net #include using namespace std; int arr[301]; int dp[301]; int main() { int n; cin >> n; for (int i = 0; i > arr[i]; dp[0] = arr[0]; dp[1] = max(arr[0] + arr[1], arr[1]); dp[2] = max(arr[0] + arr[2], arr[1] + arr[2]);.. 2020. 6. 24.
[백준] 2875번 : 대회 or 인턴 https://www.acmicpc.net/problem/2875 2875번: 대회 or 인턴 문제 백준대학교에서는 대회에 나갈 때 2명의 여학생과 1명의 남학생이 팀을 결성해서 나가는 것이 원칙이다. (왜인지는 총장님께 여쭈어보는 것이 좋겠다.) 백준대학교는 뛰어난 인재들이 많아 www.acmicpc.net #include using namespace std; int main() { int n, m, k; cin >> n >> m >> k; int cnt = 1; int limit = n + m - k; while (true) { //조건1,2,3 중 하나라도 만족하지 않았을땐 break로 탈출! if ((cnt * 2 > n) || (cnt > m) || (cnt * 3 > limit)) break;.. 2020. 6. 23.
[백준] 2667번 : 단지 번호 붙이기 https://www.acmicpc.net/problem/2667 2667번: 단지번호붙이기 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집들의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. � www.acmicpc.net #include using namespace std; int n; int house[26][26] = { 0 }; int danji_max[1000]; //index 1을 1단지로 하기! index 1부터 출력! int danji_index = 0; int dir[4][2] = { {1,0},{-1,0},{0,1},{0,-1} }; //한 점으로 부터의 UP,DOWN,RIGHT,LEFT int i.. 2020. 6. 21.
[백준] 1654번 : 랜선 자르기 https://www.acmicpc.net/problem/1654 1654번: 랜선 자르기 첫째 줄에는 오영식이 이미 가지고 있는 랜선의 개수 K, 그리고 필요한 랜선의 개수 N이 입력된다. K는 1이상 10,000이하의 정수이고, N은 1이상 1,000,000이하의 정수이다. 그리고 항상 K ≦ N 이다. 그 www.acmicpc.net #include #include typedef long long ll; using namespace std; int a[50005]; int k, n; int pos(ll mid) //판정함수 { int sum = 0; for (int i = 0; i < k; i++) sum += (a[i] / mid); if (sum < n) return 0; else return .. 2020. 6. 19.
[백준] 2512번 : 예산 https://www.acmicpc.net/problem/2512 2512번: 예산 첫째 줄에는 지방의 수를 의미하는 정수 N이 주어진다. N은 3 이상 10,000 이하이다. 다음 줄에는 각 지방의 예산요청을 표현하는 N개의 정수가 빈칸을 사이에 두고 주어진다. 이 값들은 모두 1 이상 www.acmicpc.net #include #include typedef long long ll; using namespace std; ll a[10004]; int n; ll m; int pos(int mid) { ll sum = 0; for (int i = 0; i = a[i]) sum += a[i]; else sum += mid; } return (sum > n; for (i.. 2020. 6. 17.