728x90
반응형

알고리즘/삼성 sw 역량테스트 기출문제 3

백준 20057 마법상어와 토네이도(c++)

#include #include #include using namespace std; vectorA; int curr, curc; int dr[4] = { 0,1,0,-1 }; int dc[4] = { -1,0,1,0 }; //격자 밖으로 나간 모래의 양 int ans = 0; int N; int dx[4][10] = { {-1,1,-2,2,-1,1,-1,1,0,0},{0,0,0,0,-1,-1,1,1,2,1},{-1,1,2,-2,1,-1,1,-1,0,0},{0,0,0,0,1,1,-1,-1,-2,-1} }; int dy[4][10] = { {0,0,0,0,1,1,-1,-1,-2,-1},{-1,1,-2,2,-1,1,-1,1,0,0} ,{0,0,0,0,-1,-1,1,1,2,1} ,{1,-1,2,-2,1,-1,..

백준 마법상어와 비바라기(c++)

https://www.acmicpc.net/problem/21610 21610번: 마법사 상어와 비바라기마법사 상어는 파이어볼, 토네이도, 파이어스톰, 물복사버그 마법을 할 수 있다. 오늘 새로 배운 마법은 비바라기이다. 비바라기를 시전하면 하늘에 비구름을 만들 수 있다. 오늘은 비바라기www.acmicpc.net 문제풀때 주의해야할점 1. 새로운 구름 위치를 표시할때 예를들어 (4,1)->(1,1) (1,1)>(2,1) 이처럼 이동할때 (4,1)을 배열에서 값을 0으로 만들고 (1,1)을 1로 바꾸는것처럼 알고리즘을 짜면 뒤에서 (1,1)->(2,1)에서 새로 갱신해서 1로 있어야할 값을 0으로 바꿔버린다. 그래서 그냥 새로운 배열을 만들고, 다시 기존 배열에 복사하는게 낫다. 다른 답안안보고 풀어서 ..

백준 14501번 퇴사(C++)

DP는 쉬워보이는데 막상 구현하면 꽤어렵다. 이문제에서 헷갈렸던 부분은 다음 dp값을 갱신을 n+1날짜가 넘어걸때는 해주지말아야하는데(if(i+t1[i]>n+1)continue;) 현재 dp값을 갱신하는건 넘어가던지 상관없이 했어야하는데 이부분의 위치를 잘못설정해서 틀렸었습니다가 떴었다. #include #include #include #include using namespace std; int main() { vectordp; int n; cin >> n; vectort1; t1.assign(n+1, 0); vectorp1; p1.assign(n+1, 0); for (int i = 1; i > t1[i] >> p1[i]; } dp.assign(n+2, 0); //최대 수익 출력하기 int m = 0; ..

728x90
반응형