전체 글

Hello World
· 백준
코드#include #include #include using namespace std;int n,m,lst[100003],a,b,c,res,mn;vector> v;int find(int x) { if(x == lst[x]) return x; return lst[x] = find(lst[x]);}void merge(int x, int y) { x = find(x); y = find(y); if(x > y) lst[x] = y; else lst[y] = x;}int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); cin >> n >> m; for(int i = 1; i > a >> b >> c; v..
· 백준
코드#include #include #include using namespace std;int n,m,a,b,c,res,lst[1003];vector> v;int find(int x) { if(x == lst[x]) return x; return lst[x] = find(lst[x]);}void merge(int x, int y) { x = find(x); y = find(y); if(x > y) lst[x] = y; else lst[y] = x;}int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); cin >> n; cin >> m; for(int i = 1; i > a >> b >> c; ..
· 백준
코드#include using namespace std;typedef long long ll;ll a[1000003], n, temp;int main() { cin >> n; temp = n; n = abs(n); a[0] = 0; a[1] = 1; for(int i = 2; i 0) { cout 음수로 피보나치 수를 확장하는 문제이다. 음수일 때는 절대값이 홀수일 때 양수, 짝수일 때 음수가 나온다. 절대값은 피보나치 수와 같이 나오기 때문에 부호만 잘 붙여주면 되는 문제
· 백준
코드#include using namespace std;typedef long long ll;ll n,m, a[1003][1003];int main() { cin >> n >> m; for(int i = 1; i 왼쪽에서 오는 경우, 오른쪽에서 오는 경우, 대각선에서 오는 경우를 더해주면 된다.
· 백준
코드#include #include #include using namespace std;double n, a[11];int y;int main() { cin >> n >> y; a[0] = n; for(int i = 1; i = 3) { a[i] = max(a[i], floor(a[i - 3] * 1.2)); } if(i >= 5) { a[i] = max(a[i], floor(a[i - 5]*1.35)); } } cout 초기비용을 입력하고, 증가시키면서 1년의 이자를 얻은 값을 넣는다. 그리고 3년과 5년의 경우에, 해당 값과 비교해서 크면 갱신해준다. 그럼 그 다음 년도에 갱신된 값으로 이자를 구할 것이기 때문이다. dp는 언제쯤 익숙해질까. 익숙해질만 ..
· 백준
코드#include using namespace std;typedef long long ll;ll n, a[37];int main() { cin >> n; a[0] = 1; for(int i = 1; i 문제에 있는 점화식을 그대로 따라가면 된다.
· 백준
코드#include using namespace std;typedef long long ll;int n;int main() { cin >> n; cout 9655번 돌 게임과 유사한데, 이번엔 마지막 돌을 가져가는 사람이 지는 방식이다. 짝수면 상근이가 이기고 홀수면 창영이가 이긴다. 문제가 비슷해서 답을 출력하는 방식을 한 번 바꿔봤다. 아래는 돌 게임 코드! https://nodiemecarry.tistory.com/entry/%EB%B0%B1%EC%A4%80-9655%EB%B2%88-%EB%8F%8C-%EA%B2%8C%EC%9E%84-C-%EC%BD%94%EB%93%9C> n; res = !(n % 2) ? "CY" : "SK"; // n이 홀수면 상근이 승, 찍수면 창영이 승 cout 경기 결..
· 백준
코드#include using namespace std;int r,c,w,res,a[32][32];int main() { cin >> r >> c >> w; fill(&a[0][0], &a[0][0] + 32*32, 1); for(int i = 3; i 파스칼의 삼각형을 만들어서, 입력 받은 부분부터의 합을 구해주었다. 1, 1, 29를 했을 때 536870911이 나오므로, long long을 쓸 필요는 없었다.
· 백준
코드#include using namespace std;int n,k, a[32][32];int main() { cin >> n >> k; fill(&a[0][0], &a[0][0] + 32*32, 1); for(int i = 3; i 문제에 있는 파스칼의 삼각형 규칙을 적용해서 답을 구했다.
· 백준
코드#include using namespace std;const int INF = 987654321;int n, a[100003],res = INF;int main() { cin >> n; int div = n / 5; int tempdiv = div; while(tempdiv != -1) { int mo = n%5 + 5*(div - tempdiv); if(mo%2 == 0) { int temp = tempdiv + mo/2; res = min(res, temp); break; } tempdiv--; } if(res == INF) res = -1; cout 그리디 방식으로 해결할 수 있을 것 같아서 시도했다. 5로 나눈 몫을 1개씩 줄여가며..
Melon Man
제발 CPU는 집에서 만들어 씁시다