문제링크 : https://www.acmicpc.net/problem/25192 25192번: 인사성 밝은 곰곰이 첫번째 새로운 사람이 들어온 뒤 pjshwa, chansol, chogahui05은 모두 곰곰티콘으로 인사했다. 두번째 새로운 사람이 들어온 뒤 pjshwa와 chansol은 다시 곰곰티콘으로 인사했다. www.acmicpc.net #include using namespace std; typedef long long ll; typedef pair pii; const int MAX = 987654321; int main() { int N; cin >> N; string s; setss; int result = 0; for(int i=0; i> s; if(s == "ENTER") //새로운 사람..
문제링크 : https://www.acmicpc.net/problem/1321 1321번: 군인 첫째 줄에 부대의 개수 N(1 ≤ N ≤ 500,000)이 주어지고, 이어서 각 부대의 군사 수를 나타내는 정수가 N개 주어진다. 각 부대의 군사 수는 1000보다 작거나 같은 자연수이다. 그 다음 줄에 명령의 개 www.acmicpc.net #include using namespace std; typedef long long ll; typedef pair pii; const int MAX = 987654321; int N, M; int arr[500001]; ll Tree[500001 * 4]; void update(int start, int end, int node, int idx, ll diff) { i..
문제링크 : https://www.acmicpc.net/problem/5546 5546번: 파스타 상근이는 매일 저녁으로 파스타를 만들어 먹는다. 상근이가 만들 수 있는 파스타는 총 세 종류로 토마토 소스, 크림 소스, 바질 소스이다. 상근이는 앞으로 N일 동안 먹을 파스타를 계획하려고 www.acmicpc.net #include using namespace std; #define ll long long #define MAX 987654321 #define pii pair int arr[101]; int dp[101][4][4]; // 날짜, 전날 음식, 현재 음식 int main() { int N, K, result = 0; cin >> N >> K; for(int i=0; i> a >> b; arr[..
문제링크 : https://www.acmicpc.net/problem/26266 26266번: 비즈네르 암호 해독 첫 번째 줄에 평문이 주어진다. 평문은 알파벳 대문자로만 구성되어 있으며, 평문의 길이는 $200\,000$을 넘지 않는다. 두 번째 줄에 평문에 대한 비즈네르 암호문이 주어진다. 암호문은 알파벳 대 www.acmicpc.net #include using namespace std; #define ll long long #define MAX 987654321 #define pii pair unordered_map m1; unordered_map m2; vector v1; vector v2; vector result; int main() { for (int i = 1; i > s1 >> s2; ..
문제링크 : https://www.acmicpc.net/problem/12786 12786번: INHA SUIT 평소 Iron man을 좋아하던 규환이는 Iron man Suit에 영감을 받아 Inha Suit를 만들게 되었다. 규환이는 Suit를 입고 모든 나무의 높이가 20m인 숲을 지나서 인하대로 놀러가려고 한다. 하지만 Inha Suit는 Iron www.acmicpc.net #include using namespace std; #define ll long long #define MAX 987654321 #define pii pair bool hole[101][21]; int dp[101][21]; int main() { int N, T, M, H, result = MAX; cin >> N >> ..
문제링크 : https://www.acmicpc.net/problem/3495 3495번: 아스키 도형 창영이는 메모장에 '.', '\', '/'을 이용해서 도형을 그렸다. 각 문자는 그림에서 1*1크기의 단위 정사각형을 나타낸다. '.'은 빈 칸을 나타내며, '/'는 정사각형의 왼쪽 아래 꼭짓점과 오른쪽 위 꼭짓 www.acmicpc.net #include using namespace std; #define ll long long #define MAX 987654321 #define pii pair char arr[101][101]; int main() { ios_base::sync_with_stdio(false); cin.tie(0); int H, W; int result = 0; cin >> H >..
문제링크 : https://www.acmicpc.net/problem/2064 2064번: IP 주소 네트워크에 연결되어 있는 컴퓨터들은 각각 하나의 IP 주소를 갖게 된다. 그리고 이러한 IP 주소를 갖는 컴퓨터들이 여러 개 모여서 하나의 IP 네트워크를 구성하게 된다. IP 네트워크는 ‘네트워 www.acmicpc.net #include using namespace std; #define ll long long #define MAX 987654321 #define pii pair int ip2[1001]; void func(int n) // 32비트수를 십진수로 변환 { int len = 24; for(int i=0; i len) & (1 ip; istringstream ss(ip); while(ge..
문제링크 : https://www.acmicpc.net/problem/20117 20117번: 호반우 상인의 이상한 품질 계산법 어떤 묶음에 있는 호반우의 품질이 [1, 2, 3, 4] 라고 하면 중간값인 3으로 모든 호반우의 품질을 계산한다. 따라서 이 묶음의 총 가격은 3 × 4 = 12 가 된다. 품질이 [6, 3, 9] 라고 하면 중간값인 6으로 www.acmicpc.net #include using namespace std; #define ll long long #define MAX 987654321 #define pii pair int arr[100001]; int main() { ios_base::sync_with_stdio(false); cin.tie(0); int N; cin >> N; ..
문제링크 : https://www.acmicpc.net/problem/18291 18291번: 비요뜨의 징검다리 건너기 강을 건너는 방법은, (1 → 4), (1 → 2 → 4), (1 → 3 → 4), (1 → 2 → 3 → 4)의 4가지이다. www.acmicpc.net #include using namespace std; #define ll long long #define MAX 987654321 #define pii pair #define MOD 1000000007 ll fun(ll x, ll y) { if(y> T; while(T--) { ll N; cin >> N; cout
문제링크 : https://www.acmicpc.net/problem/15787 15787번: 기차가 어둠을 헤치고 은하수를 입력의 첫째 줄에 기차의 수 N(1 ≤ N ≤ 100000)과 명령의 수 M(1 ≤ M ≤ 100000)가 주어진다. 이후 두 번째 줄부터 M+1번째 줄까지 각 줄에 명령이 주어진다. www.acmicpc.net #include using namespace std; #define ll long long #define MAX 987654321 #define pii pair int arr[100001]; int main() { ios_base::sync_with_stdio(false); cin.tie(0); int n, m; cin >> n >> m; while(m--) { int c..
문제링크 : https://www.acmicpc.net/problem/15831 15831번: 준표의 조약돌 첫 줄에 조약돌의 총 개수 N, 준표가 원하는 검은 조약돌의 최대개수 B와 하얀 조약돌의 최소개수 W가 주어진다. 둘째 줄에는 N개의 조약돌의 정보가 한 줄로 주어진다. i번째 문자가 B라면 i번 조 www.acmicpc.net #include using namespace std; #define ll long long #define MAX 987654321 #define pii pair int main() { ios_base::sync_with_stdio(false); cin.tie(0); int N, B, W; cin >> N >> B >> W; string s; cin >> s; int l =..
문제링크 : https://www.acmicpc.net/problem/14231 14231번: 박스 포장 영선이는 과대 포장으로 유명한 남규 회사에서 아르바이트를 한다. 영선이는 여러 박스들을 여러겹으로 포장하는 업무를 맡았다. 박스를 포장할 때 규칙이 있는데, 일단 박스를 일렬로 주어진 www.acmicpc.net #include using namespace std; #define ll long long #define MAX 987654321 #define pii pair int arr[5001]; int dp[5001]; int main() { ios_base::sync_with_stdio(false); cin.tie(0); int N; cin >> N; for(int i=1; i> arr[i]; }..
문제링크 : https://www.acmicpc.net/problem/14284 14284번: 간선 이어가기 2 정점 n개, 0개의 간선으로 이루어진 무방향 그래프가 주어진다. 그리고 m개의 가중치 간선의 정보가 있는 간선리스트가 주어진다. 간선리스트에 있는 간선 하나씩 그래프에 추가해 나갈 것이다. www.acmicpc.net #include using namespace std; #define ll long long #define MAX 987654321 #define pii pair vector v[5001]; int dist[5001]; int N, M, a, b, c, s, t; void dijkstra() { priority_queue pq; //값이 작을수록 우선순위를 가짐 pq.push({0..
문제링크 : https://www.acmicpc.net/problem/10472 10472번: 십자뒤집기 당신에게 3x3 크기의 보드가 주어진다. 각각의 칸은 처음에 흰색 혹은 검은색이다. 만약 당신이 어떤 칸을 클릭한다면 당신이 클릭한 칸과 그 칸에 인접한 동서남북 네 칸이 (존재한다면) 검은색 www.acmicpc.net #include using namespace std; #define ll long long #define MAX 987654321 #define pii pair vectorv[9] = { {0, 1, 3}, {0, 1, 2, 4}, {1, 2, 5}, {0, 3, 4, 6}, {1, 3, 4, 5, 7}, {2, 4, 5, 8}, {3, 6, 7}, {4, 6, 7, 8}, {5, ..
문제링크 : https://www.acmicpc.net/problem/13335 13335번: 트럭 입력 데이터는 표준입력을 사용한다. 입력은 두 줄로 이루어진다. 입력의 첫 번째 줄에는 세 개의 정수 n (1 ≤ n ≤ 1,000) , w (1 ≤ w ≤ 100) and L (10 ≤ L ≤ 1,000)이 주어지는데, n은 다리를 건너는 트 www.acmicpc.net #include using namespace std; #define ll long long #define MAX 987654321 #define pii pair int arr[10001]; int main() { int N, W, L; cin >> N >> W >> L; queueq; for (int i = 0; i < N; i++) {..