본문 바로가기
반응형

전체 글272

[알고리즘] cpp 멀쩡한 사각형 포인트 1. 최대 공약수 2. 대각선 사각형 개수 using namespace std; int eu(int a, int b) { // 유클리디안 호제법 비비에나비에 return b ? eu(b, a % b) : a; } long long solution(int w, int h) { long long answer = 1; int gcd = eu(w, h); long long sum = (long long)w * (long long)h; return sum - gcd * ((w / gcd) + (h / gcd) - 1); } 2020. 9. 23.
[알고리즘] cpp 파이프 옮기기 포인트 1. 시작 지점을 0,1 로 설정을 해야 하는 부분 2. 대각선, 오른쪽, 아래 방향이 전부 수가 다름 #include #include #include using namespace std; queue q; int map[17][17]; int n = 0; int dx[] = {0, 1, 1}; // row, col, cross int dy[] = {1, 0, 1}; // row, col, cross int bfs(int a, int b, int c) { int count = 0; q.push(make_tuple(a, b, c)); while (!q.empty()) { int x, y, dir; tie(x, y, dir) = q.front(); q.pop(); if (x == n - 1 && y =.. 2020. 9. 20.
[알고리즘] 아기상어 포인트 규칙을 잘 이해할 수 있는가? 거리가 가까운 순 제일 위에 있는 순 (행 좌표로 제일 짧은 순) 제일 왼쪽에 있는 순 (열 좌표로 제일 짧은 순) 크기가 같거나 물이면 통과 자기보다 크기가 작으면 먹는다 크기가 먹은 횟수와 같으면 크기를 +=1 하고 먹은 횟수를 초기화 후에 위치 반영하기 bfs를 잘 실행할 수 있는가? #include #include #include #include #include #include using namespace std; int dx[] = {0, 0, 1, -1}; int dy[] = {1, -1, 0, 0}; int n; int map[21][21]; int dist[21][21]; tuple bfs(int x, int y, int size) { memset(di.. 2020. 9. 20.
[알고리즘] 스타트와 링크 1. 포인트 조건대로 구현을 할 수 있는가? 그동안 너무 어렵게 생각한 것은 아닌가 고민이 된다. 조합을 구현한뒤 나누어서 값을 더하는 로직 dfs 에서 순열, 중복 순열, 조합, 중복 조합 정도는 알고 있으면 상당히, 아주 상당히 좋을 것 같다. 전역변수를 잘 사용하는 것도 좋다 c++/cpp #include #include #include using namespace std; int map[21][21]; int main() { int n; cin >> n; for (int i = 0; i > map[i][j]; } } vector b(n); for (int i = 0; i < n / 2; i++) { b[i] = 1.. 2020. 9. 20.
반응형