알고리즘/백준
-
[알고리즘] 백준 1476번 : 날짜 계산 - C++알고리즘/백준 2020. 12. 12. 21:36
www.acmicpc.net/problem/1476 1476번: 날짜 계산 준규가 사는 나라는 우리가 사용하는 연도와 다른 방식을 이용한다. 준규가 사는 나라에서는 수 3개를 이용해서 연도를 나타낸다. 각각의 수는 지구, 태양, 그리고 달을 나타낸다. 지구를 나타 www.acmicpc.net #include using namespace std; int main() { int E, S, M, e = 1, s = 1, m = 1, ans = 1; cin >> E >> S >> M; while (E != e || S != s || M != m) { ans++; if (e >= 15) e = 1; else e++; if (s >= 28) s = 1; else s++; if (m >= 19) m = 1; else..
-
[알고리즘] 백준 17974번: 모든 순열 - C++알고리즘/백준 2020. 12. 12. 21:35
www.acmicpc.net/problem/10974 10974번: 모든 순열 N이 주어졌을 때, 1부터 N까지의 수로 이루어진 순열을 사전순으로 출력하는 프로그램을 작성하시오. www.acmicpc.net #include #include using namespace std; int main() { int N; int *a; scanf("%d", &N); a = (int *)malloc(sizeof(int)*N); for (int i = 0; i < N; i++) { a[i] = i + 1; printf("%d ", a[i]); } printf("\n"); while (next_permutation(a, a + N)) { for (int i = 0; i < N; i++) { printf("%d ", a[..
-
[알고리즘] 백준 10972번: 다음순열 - C++알고리즘/백준 2020. 12. 12. 21:33
www.acmicpc.net/problem/10972 10972번: 다음 순열 첫째 줄에 입력으로 주어진 순열의 다음에 오는 순열을 출력한다. 만약, 사전순으로 마지막에 오는 순열인 경우에는 -1을 출력한다. www.acmicpc.net #include #include using namespace std; int main() { int N; int *a; int i, j; scanf("%d", &N); a = (int *)malloc(sizeof(int)*N); for (int k = 0; k < N; k++) { scanf("%d", &a[k]); } i = N; while (i--) { if(i < 1) { printf("%d", --i); return 0; } else if (a[i - 1] < a..
-
[알고리즘] 백준 11723번 : 집합 - C++알고리즘/백준 2020. 12. 12. 21:30
www.acmicpc.net/problem/11723 11723번: 집합 첫째 줄에 수행해야 하는 연산의 수 M (1 ≤ M ≤ 3,000,000)이 주어진다. 둘째 줄부터 M개의 줄에 수행해야 하는 연산이 한 줄에 하나씩 주어진다. www.acmicpc.net #include #include int main() { int m, x; char in[7]; int set = 0; scanf("%d", &m); while (m--) { scanf("%s", in); if (!strcmp(in, "add")) { scanf("%d", &x); x--; set = (set | (1
-
[알고리즘] 백준 7785번: 회사에 있는 사람 -C/C++알고리즘/백준 2019. 1. 11. 21:08
백준 7785번: 회사에 있는 사람 https://www.acmicpc.net/problem/7785 1. HASH(Single Linked List) 2. Merge Sort (라이브러리 사용하지 않고 직접 구현) #define NODE_MAX 1000001 #define HASH_MAX 10007 struct NODE { bool isEnter; char name[6]; NODE* prev; } node[NODE_MAX]; int index = 0; NODE* hashTable[HASH_MAX]; NODE* allNode[NODE_MAX]; NODE* enterNode[NODE_MAX]; NODE* bufferNode[NODE_MAX]; int cntAll = 0; int cntEnter = 0; c..
-
[알고리즘] 백준 1764번: 듣보잡 -C/C++알고리즘/백준 2019. 1. 9. 21:33
백준 1764번: 듣보잡 https://www.acmicpc.net/problem/1764 1. HASH(Single Linked List) 2. Merge Sort (라이브러리 사용하지 않고 직접 구현) #include #define HASH_MAX 10007 #define NODE_MAX 500001 #define NAME_MAX 500001 struct NODE { char name[21]; NODE* prev; } node[NODE_MAX]; int index = 0; NODE* hashTable[HASH_MAX]; char* DBJ[NAME_MAX]; char* tempDBJ[NAME_MAX]; void mystrcpy(char* dest, char* src) { while (*src != 0)..