분류 전체보기

    [class4] (백준 2206) 벽 부수고 이동하기

    HTML 삽입 미리보기할 수 없는 소스 #include #include #include using namespace std; int N, M; int dx[4] = { 0,0,-1,1 }; int dy[4] = { -1, 1 ,0 ,0 }; char arr[1001][1001]; int visit[1001][1001][2] = {false}; int minNum = 1001; int BFS() { queue q; int count[1001][1001]; q.push({ {0,0},1 }); visit[0][0][1] = 1; while (!q.empty()) { int y = q.front().first.first; int x = q.front().first.second; int block = q.fro..

    [class4] (백준 1967) 트리의 지름

    HTML 삽입 미리보기할 수 없는 소스 root로 부터 가장 먼 point까지 구하는것은 스스로 구현했는데 가장 큰 2개의 point를 이용하는 식으로 답을 유도하려는 방식에서 틀렸다는것을 느꼈다. 다른분의 소스코드를 참고해서 그냥 가장 가중치가 높은 point하나에서 또다시 dfs구하면 되는것을 힌트로 얻어 구현했다. 아직 혼자서 구현하는 능력이 너무 부족한것같다. #include #include #include using namespace std; int N; vector node[10002]; bool visit[10002] = {false}; int result = 0; int point = 0; void dfs(int num, int len) { if (visit[num]) return; vis..

    [class4] (백준 14502) 연구소

    HTML 삽입 미리보기할 수 없는 소스 #include #include using namespace std; const int xMax = 8; const int yMax = 8; int arr[yMax][xMax]; int temp[yMax][xMax]; int N, M; int maxCount = 0; int dx[4] = { -1,1,0,0 }; int dy[4] = { 0,0,-1,1 }; void BFS() { int afterArr[yMax][xMax]; for (int y = 0; y < N; y++) { for (int x = 0; x < M; x++) { afterArr[y][x] = temp[y][x]; } } queue q; for (int y = 0; y < N; y++) { for..

    [class4] (백준 13172) Σ

    HTML 삽입 미리보기할 수 없는 소스 이번문제는 계속하여 제출을 해도 4%에서 오류가 나서 아무리 다른부분 MODX의 나머지를 구해주는 부분을 추가해도 계속 실패해서 골치가 아팠다. 천천히 코드 보면서 살펴보니 result 값 계속 더해주는 부분을 신경을 안써줬더라! 겨우 해결했다... #include #include #include #include using namespace std; const long long MODX = 1000000007; int gcd(int a, int b){ int tmp, n; if(a>= 1; // /2해준다 } return result; } long long GetResult(long long a, long long b) { long long temp = GetLon..

    [class4] (백준 13549) 숨바꼭질 3

    HTML 삽입 미리보기할 수 없는 소스 #include #include using namespace std; #define MAX 200001 bool visited[MAX]; int shortTime[MAX]; int BFS(int N, int goal) { queue q; q.push(N); shortTime[N] = 0; visited[N] = true; while (!q.empty()) { int temp = q.front(); if (temp == goal) break; q.pop(); if ((temp * 2) >= 0 && (temp * 2) < MAX && !visited[temp * 2]) { visited[temp * 2] = true; q.push(temp * 2); shortTime..

    [class4] (백준 12865) 평범한 배낭

    HTML 삽입 미리보기할 수 없는 소스 #include using namespace std; int N, K; int dp[110][100010]; pair obj[110]; int Max(int a, int b) { return ((a > b) ? a : b); } int main() { ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); cin >> N >> K; int input1, input2; for (int i = 1; i > input1 >> input2; obj[i] = make_pair(input1, input2); } for (int i = 1; i