https://www.acmicpc.net/problem/1932 1932번: 정수 삼각형 첫째 줄에 삼각형의 크기 n(1 ≤ n ≤ 500)이 주어지고, 둘째 줄부터 n+1번째 줄까지 정수 삼각형이 주어진다. www.acmicpc.net 잘못 생각한 문제!! #include #include using namespace std; int n; int map[500][500]; int j = 0; int MAX = 1000000000; bool visited[100][100]; int dx[2] = {0, 1}; int solution = 0; void dfs(int y, int x, int depth, int sum){ if(depth == n){ solution = max(sum, solution); }..
https://www.acmicpc.net/problem/1629 1629번: 곱셈 첫째 줄에 A, B, C가 빈 칸을 사이에 두고 순서대로 주어진다. A, B, C는 모두 2,147,483,647 이하의 자연수이다. www.acmicpc.net #include int C; long pow(long A, long B){ if(B == 1){ return A % C; } long temp = pow(A, B/2); //짝수인 경우 if(B % 2 == 0){ return (temp * temp) % C; } //홀수인 경우 if(B % 2 == 1){ return (temp * temp) % C * A % C; } } using namespace std; int main(){ long A; long B; ..
https://www.acmicpc.net/problem/1991 1991번: 트리 순회 첫째 줄에는 이진 트리의 노드의 개수 N(1 ≤ N ≤ 26)이 주어진다. 둘째 줄부터 N개의 줄에 걸쳐 각 노드와 그의 왼쪽 자식 노드, 오른쪽 자식 노드가 주어진다. 노드의 이름은 A부터 차례대로 알파 www.acmicpc.net #include #include #include using namespace std; int N; char X; char Y; char Z; int parent[27][2]; void preorder(char root){ if(root =='.'){ return; }else{ cout> Y >> Z; parent[X - 'A'][0] = Y; parent[X - 'A'][1] = Z; ..
https://www.acmicpc.net/problem/9465 9465번: 스티커 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스의 첫째 줄에는 n (1 ≤ n ≤ 100,000)이 주어진다. 다음 두 줄에는 n개의 정수가 주어지며, 각 정수는 그 위치에 해당하는 스티커의 www.acmicpc.net int main(){ int dp[2][20001]; int s[2][200001]; int T; int n; cin>>T; while(T--){ cin>>n; for(int i = 0; i > s[i][j]; } } dp[0][0] = s[0][0]; dp[1][0] = s[1][0]; dp[0][1] = ..
#include #include #include #define INF 100000000; using namespace std; vector a[1001]; priority_queuepq; int d[1001]; int main(){ ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); int N; int M; int start; int end; cin>>N>>M; for(int i = 1; i x>>y>>z; a[x].push_back({y, z}); } cin>>start>>end; pq.push(make_pair(0, start)); d[start] = 0; while(!pq.empty()){ int cost = pq.top().first; int cur =..
https://www.acmicpc.net/problem/11660 11660번: 구간 합 구하기 5 첫째 줄에 표의 크기 N과 합을 구해야 하는 횟수 M이 주어진다. (1 ≤ N ≤ 1024, 1 ≤ M ≤ 100,000) 둘째 줄부터 N개의 줄에는 표에 채워져 있는 수가 1행부터 차례대로 주어진다. 다음 M개의 줄에는 네 www.acmicpc.net #include using namespace std; int prefixsum[1025][1025] ={0}; int dp[1025][1025]; int main(){ int x1; int x2; int y1; int y2; int N; int M; cin >> N >> M; for(int i = 1; i prefixsum[i][j]; dp[i][j] =..