본문 바로가기

반응형

코딩 이야기/백준 풀이

(51)
백준 1003번: 피보나치 함수 C++ 코드(DP, 다이나믹 프로그래밍) //1003 #include using namespace std; struct zeroandone{ int zero; int one; }; zeroandone array1[41]; int used[41] = {0,}; zeroandone fibo(int n){ zeroandone temp; if(used[n] == 1){ return array1[n]; }else if(n == 0){ temp.zero = 1; temp.one = 0; return temp; }else if(n == 1){ temp.zero = 0; temp.one = 1; return temp; }else{ zeroandone temp1 = fibo(n-1); zeroandone temp2 = fibo(n-2); temp.zero = ..
백준 23814번: 아 저는 볶음밥이요 C++코드(수학) #include using namespace std; int main(){ long long n,m,k,d; long long casearr[4]; long long caseksize[4]; cin >> d; cin >> n >> m >> k; long long n2 = n%d; long long m2 = m%d; long long maxsize = (n+m+k)/d; casearr[0] = n/d + m/d + k/d; caseksize[0] = k; casearr[1] = (n + (d-n2))/d + m/d + (k-(d-n2))/d; caseksize[1] = k-(d-n2); casearr[2] = n/d + (m + (d-m2))/d + (k-(d-m2))/d; caseksize[2] = k ..
백준 1260번: DFS와 BFS C++코드(DFS, BFS) #include #include #include #include #include using namespace std; vector maps[1001]; void dfs(int v){ stack s; int visited[1001] = {0,}; s.push(v); while(!s.empty()){ int now = s.top(); if(visited[now] == 0){ cout m >> v; for(int i=0; i> node1 >> node2; maps[node1].push_back(node2); maps[node2].push_back(node1); } for(int i=1; i
백준 1476번: 날짜 계산 C++코드(브루트포스, Bruteforce) #include using namespace std; int main(){ int e,s,m; int count = 0;; int re=0,rs=0,rm=0; cin >> e >> s >> m; while(1){ if(re == 16){ re = 1; } if(rs == 29){ rs = 1; } if(rm == 20){ rm = 1; } if(re == e & rs == s & rm == m){ cout
백준 10819번: 차이를 최대로 C++ 코드(브루트포스, Bruteforce) #include #include using namespace std; int n; int a[10]; int maxi = 0; //최대값 void func(vector v, int visited[10]){ if(v.size() == n){ int result = 0; for(int i = 0; i maxi){ maxi = result; } } for(int i=0; i> n; for(int i=0; i> a[i]; } vector v; int visited[10] = {0,}; func(v, visited); cout
백준 2512번: 예산 C++코드(이진 탐색) #include using namespace std; int values[10001]; int search(int n,int m, int standard){ int result = 0; for(int i=0; i
백준 1987번: 알파벳 C++코드(DFS, Backtracking, 백트래킹) #include #include using namespace std; int alphabet[26] = {0,}; char graph[21][21] = {0,}; int r,c; int result = 0; int y[4] = {0,0,-1,1}; int x[4] = {-1,1,0,0}; void dfs(int ny, int nx, int cnt){ if(result c; for(int i=0; i graph[i][j]; } } alphabet[graph[0][0]-65] = 1; dfs(0,0,1); cout
백준 16953번: A -> B C++ 코드(BFS) #include #include #include using namespace std; int bfs(long long a, long long b){ queue q; q.push(make_pair(a, 1)); while(!q.empty()){ pair now = q.front(); q.pop(); if(now.first == b){ return now.second; } if(now.first*2 a >> b; cout

반응형