전체 글 267

BOJ 29159 : 케이크 두 개

문제 링크 : boj.kr/29159 난이도 : S3 태그 : 기하학, 정수론 29159번: 케이크 두 개 $(0,0),(0,1),(1,0),(1,1)$이 네 쪽지점인 직사각형과 $(2,1),(3,2),(3,1),(3,2)$가 네 꼭지점인 직사각형을 동시에 이등분하는 직선의 방정식은 $y=\frac12 x+\frac14$이다. www.acmicpc.net 코드 #include #define all(x) (x).begin(), (x).end() #define INF 0x7FFFFFFF using namespace std; using ll = long long; using ld = long double; using pii = pair; using pll = pair; ll gcd(ll a, ll b) { i..

PS 2024.02.16

BOJ 10845 : 큐

문제 링크 : boj.kr/10845 난이도 : S4 태그 : 구현, 큐 10845번: 큐 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 코드 #include #define all(x) (x).begin(), (x).end() #define INF 0x7FFFFFFF using namespace std; using ll = long long; using ld = long double; using pii = pair; using pll = pair; int main() { ios::sync_with_stdio(0..

PS 2024.02.15

BOJ 1051 : 숫자 정사각형

문제 링크 : boj.kr/1051 난이도 : S3 태그 : 브루트포스 1051번: 숫자 정사각형 N×M크기의 직사각형이 있다. 각 칸에는 한 자리 숫자가 적혀 있다. 이 직사각형에서 꼭짓점에 쓰여 있는 수가 모두 같은 가장 큰 정사각형을 찾는 프로그램을 작성하시오. 이때, 정사각형은 행 www.acmicpc.net 코드 #include #define all(x) (x).begin(), (x).end() #define INF 0x7FFFFFFF using namespace std; using ll = long long; using ld = long double; using pii = pair; using pll = pair; int main() { ios::sync_with_stdio(0); cin.ti..

PS 2024.02.14

BOJ 11724 : 연결 요소의 개수

문제 링크 : boj.kr/11724 난이도 : S2 태그 : 그래프, BFS, DFS 11724번: 연결 요소의 개수 첫째 줄에 정점의 개수 N과 간선의 개수 M이 주어진다. (1 ≤ N ≤ 1,000, 0 ≤ M ≤ N×(N-1)/2) 둘째 줄부터 M개의 줄에 간선의 양 끝점 u와 v가 주어진다. (1 ≤ u, v ≤ N, u ≠ v) 같은 간선은 한 번만 주어 www.acmicpc.net 코드 #include #define all(x) (x).begin(), (x).end() #define INF 0x7FFFFFFF using namespace std; using ll = long long; using ld = long double; using pii = pair; using pll = pair; ..

PS 2024.02.13

BOJ 5052 : 전화번호 목록

문제 링크 : boj.kr/5052 난이도 : G4 태그 : 트라이 5052번: 전화번호 목록 첫째 줄에 테스트 케이스의 개수 t가 주어진다. (1 ≤ t ≤ 50) 각 테스트 케이스의 첫째 줄에는 전화번호의 수 n이 주어진다. (1 ≤ n ≤ 10000) 다음 n개의 줄에는 목록에 포함되어 있는 전화번호가 www.acmicpc.net 코드 #include #define all(x) (x).begin(), (x).end() #define INF 0x7FFFFFFF using namespace std; using ll = long long; using ld = long double; using pii = pair; using pll = pair; class Trie { bool leaf; Trie* nod..

PS 2024.02.12

BOJ 20044 : Project Teams

문제 링크 : boj.kr/20044 난이도 : S4 태그 : 정렬, 그리디 20044번: Project Teams 입력은 표준입력을 사용한다. 입력의 첫 번째 행에는 팀 수를 나타내는 양의 정수 n(1 ≤ n ≤ 5,000)이 주어진다. 그 다음 행에 학생 si 의 코딩 역량 w(si)를 나타내는 2n개의 양의 정수가 공백으로 www.acmicpc.net 코드 #include #define all(x) (x).begin(), (x).end() #define INF 0x7FFFFFFF using namespace std; using ll = long long; using ld = long double; using pii = pair; using pll = pair; int main() { ios::syn..

PS 2024.02.11

BOJ 20920 : 영단어 암기는 괴로워

문제 링크 : boj.kr/20920 난이도 : S3 태그 : 문자열, 정렬 20920번: 영단어 암기는 괴로워 첫째 줄에는 영어 지문에 나오는 단어의 개수 $N$과 외울 단어의 길이 기준이 되는 $M$이 공백으로 구분되어 주어진다. ($1 \leq N \leq 100\,000$, $1 \leq M \leq 10$) 둘째 줄부터 $N+1$번째 줄까지 외울 단 www.acmicpc.net 코드 #include #define all(x) (x).begin(), (x).end() #define INF 0x7FFFFFFF using namespace std; using ll = long long; using ld = long double; using pii = pair; using pll = pair; bool..

PS 2024.02.10

BOJ 2986 : 파스칼

문제 링크 : boj.kr/2986 난이도 : S3 태그 : 정수론 2986번: 파스칼 첫째 줄에 창영이가 입력한 N이 주어진다. N은 1보다 크거나 같고, 10^9보다 작거나 같은 자연수이다. www.acmicpc.net 코드 #include #define all(x) (x).begin(), (x).end() #define INF 0x7FFFFFFF using namespace std; using ll = long long; using ld = long double; using pii = pair; using pll = pair; int main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); int n; cin >> n; for(int i = 2; i*i

PS 2024.02.09

BOJ 9575 : 행운의 수

문제 링크 : boj.kr/9575 난이도 : S4 태그 : 브루트포스 9575번: 행운의 수 각각의 테스트 케이스마다 입력으로 주어진 수열을 이용해 만들 수 있는 서로 다른 행운의 수의 개수를 한 줄에 하나씩 출력한다. www.acmicpc.net 코드 #include #define all(x) (x).begin(), (x).end() #define INF 0x7FFFFFFF using namespace std; using ll = long long; using ld = long double; using pii = pair; using pll = pair; int main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); int T; cin >> T; wh..

PS 2024.02.08

BOJ 25344 : 행성 정렬

문제 링크 : boj.kr/25344 난이도 : S4 태그 : 정수론 25344번: 행성 정렬 첫째 줄에 정렬되길 바라는 행성의 개수 $N$이 주어진다. ($3 \leq N \leq 100\,000$) 둘째 줄에 행성이 일렬로 나열되는 주기를 나타내는 정수 $T_1, T_2, \cdots, T_{N-2}$가 공백으로 구분되어 주어진다. ($1 \l www.acmicpc.net 코드 #include #define all(x) (x).begin(), (x).end() #define INF 0x7FFFFFFF using namespace std; using ll = long long; using ld = long double; using pii = pair; using pll = pair; ll gcd(ll ..

PS 2024.02.07