목록2025/04/06 (3)
Mini

https://www.acmicpc.net/problem/14863* 풀이cnt#includeusing namespace std; typedef long long ll;struct A { int a,b,c,d;};int n,k,ret;ll dp[104][100000+4]; //(idx, num) : 그떄 경우의수vector v;ll dfs(int idx, int cnt) { if(cnt >n>>k; for(int i=0;i>a>>b>>c>>d; v.push_back({a,b,c,d}); } cout ret 초기화 문제처음풀이는 ret=0 -> 오답결론 : ret는 불가능 && 매우 큰값으로 초기화 하라!

https://www.acmicpc.net/problem/5557* 풀이+ , - 2가지 경우의수완탐 -> 2^100 -> 불가dp?#includeusing namespace std; typedef long long ll;int n;int arr[104];ll dp[104][24]; //(idx, num) : 그떄 경우의수ll dfs(int idx, int num) { if(num 20) { return 0; } if(idx==n-1) { if(num==arr[idx]) { // cout>n; for(int i=0;i>arr[i]; } // cout시행착오마지막 숫자와 같은지 검사, 마지막숫자도 더하거나 빼는것이 ..

https://www.acmicpc.net/problem/14867*시도1dfs로 6가지 경우의수 탐색 -> 계속 fill A 만 호출되다 스택 오버플로우* 풀이가중치가 같은 최단거리는 ? bfs! 처음 찾은게 최단거리 보장but, 상태 : [a의 물][b의물] = [10만][10만] -> 메모리 초과상태관찰 -> 상태가 띄엄띄엄 있음 -> 즉, vis를 전부사용하지 않아도됨 -> map을 vis로 활용#includeusing namespace std; typedef long long ll;int a,b,c,d,ret=-1;map,int> vis;struct A { int q,w,cnt;};int main() { ios_base::sync_with_stdio(0); cin.tie(0); ..