본문 바로가기

분류 전체보기412

12761 돌다리 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788#include #include #include using namespace std; int a, b, n, m;int bfs(int cur) { queue q; q.push(make_pair(cur, 0)); int dx[2] = { 1,-1 }; int dxA[2] = { a,-a }; int dxB[2] = { b,-b }; int mulAB[2] = { a, b }; int chk[100001] = { .. 2020. 1. 20.
9372 상근이의 여행 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151#include #include #include #include #include #include.. 2020. 1. 20.
5014 스타트링크 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162#include #include #include #include using namespace std; int f, s, g, u, d ; int bfs() { vector chk(1000005,0); queue q; int cur = s; int cnt = 0; chk[cur] = 1; q.push(make_pair(cnt, cur)); int flag = 0; while (!q.empty()) { cur = q.front().second; cnt = q.front().first; // printf(".. 2020. 1. 20.
2589 보물섬 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374#include #include #include using namespace std; char arr[55][55] = {0};char chk[55][55] = { 0 };int dx[4] = { 1,-1,0,0 };int dy[4] = { 0,0,1,-1 };int row, col; typedef struct _dot { int len; int y; int x;}dot; int bfs(int y, int x) { queue q; memcpy(chk, arr,.. 2020. 1. 19.
2644 촌수계산 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899#include #include #include using namespace std; int par[105] = { 0 };int depth[105] = { 0 };int man; void depthSearch(int root) { queue q; int deep = 1; q.push(make_pair(deep, root)); while (!q.empty()) { int .. 2020. 1. 18.
2146 다리만들기 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990#include #include #include #include using namespace std; int dx[4] = { 1,-1, 0,0 };int dy[4] = { 0,0,1,-1 };int arr[105][105] = { 0 };int n; int bridge(int isNum) { int chk[105][105]; memcpy(chk, arr, sizeof(arr)); queue q; for.. 2020. 1. 18.
(시간초과) 2146 다리만들기 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091#include #include #include #include using namespace std; int arr[104][104] = { 0 };int chk[104][104] = { 0 };int chkMat[104][104] = { 0 };int n, sum = 0; void isLink(int a, int b) { queue q; q.push(make_pair(a, b)); int dx[4].. 2020. 1. 18.
14502 연구실 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394#include #include #include #include using namespace std; int m[10][10] = { 0 };int chk[10][10] = { 0 };int row, col;int maxRst = -1; void bfsScore() { queue q; int matChk[10][10] = { 0 }; for (int i = 1; i 2020. 1. 17.
4008 숫자만들기 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697#include #include #include #include using namespace std; int num[14] = { 0 };int maxR = -100000000;int minR = 100000000; typedef struct Tmp { int cur; int score; int plus; int minus; int mul; int div;}tmp; void bf.. 2020. 1. 16.
1952 수영장 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 #include #include #include using namespace std; int cost[5] = { 0 }; int month[15] = { 0 }; int bfs() { queue q; int cur = 1, minS = cost[4]; q.push(make_pair(cur, 0)); while (!q.empty()) { cur = q.front().first; int score = q.front().second; q.pop(); if (cur > 12) { if (mi.. 2020. 1. 16.
1592 영식이와 친구들 123456789101112131415161718192021222324252627282930313233#include int main() { int n, m, l; scanf("%d %d %d", &n, &m, &l); int cnt = 0, maxN = -1, cur = 1; int chk[1005] = { 0 }; chk[1] = 1; while (1) { if (maxN == m) break; if (chk[cur] % 2 == 1) { cur += l; if (cur > n) cur -= n; } else { cur -= l; if (cur maxN) maxN = chk[cur]; cnt++; } printf("%d", cnt);}Colored by Color Scriptercs 2020. 1. 15.
4013 특이한 자석 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115#include #include #include #include #include using namespace std; int topni[5][10]; void change(int top, int mov) { if (mov == -1) { int first = topni[top][1]; f.. 2020. 1. 15.