본문 바로가기

728x90
반응형

Algorithm/C++

(111)
[C++] 10431 : 줄세우기 https://www.acmicpc.net/problem/10431 10431번: 줄세우기 초등학교 선생님 강산이는 아이들을 데리고 단체로 어떤 일을 할 때 불편함이 없도록 새로 반에 배정받은 아이들에게 키 순서대로 번호를 부여한다. 번호를 부여할 땐 키가 가장 작은 아이가 1 www.acmicpc.net #include using namespace std; int p, t; vector v; int fun() { int ans = 0; vector sv = {v[0]}; vector::iterator it; for (int i = 1; i v[i]..
[C++] 20055 : 컨베이어 벨트 위의 로봇 https://www.acmicpc.net/problem/20055 20055번: 컨베이어 벨트 위의 로봇 길이가 N인 컨베이어 벨트가 있고, 길이가 2N인 벨트가 이 컨베이어 벨트를 위아래로 감싸며 돌고 있다. 벨트는 길이 1 간격으로 2N개의 칸으로 나뉘어져 있으며, 각 칸에는 아래 그림과 같이 1부 www.acmicpc.net #include using namespace std; int n, k; int durability[222]; vector robot_location; deque dq; int ans; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr); cin >> n >> k; for (int i = 0..
[C++] 9655 : 돌 게임 https://www.acmicpc.net/problem/9655 9655번: 돌 게임 상근이가 게임을 이기면 SK를, 창영이가 게임을 이기면 CY을 출력한다. www.acmicpc.net #include #define SK "SK" #define CY "CY" using namespace std; int n; string d[1123]; int main() { cin >> n; d[1] = SK; d[2] = CY; d[3] = SK; for (int i = 4; i
[C++] 12919 : A와 B 2 https://www.acmicpc.net/problem/12919 12919번: A와 B 2 수빈이는 A와 B로만 이루어진 영어 단어 존재한다는 사실에 놀랐다. 대표적인 예로 AB (Abdominal의 약자), BAA (양의 울음 소리), AA (용암의 종류), ABBA (스웨덴 팝 그룹)이 있다. 이런 사실에 놀란 수빈 www.acmicpc.net #include using namespace std; string s, t; map m; // 역으로 추적 void fun(string a) { if (s == a) { m[1] = 1; } if (s.length() == a.length()) { return; } char f = a.front(); char b = a.back(); if (f == 'B'..
[C++] 15989 : 1, 2, 3 더하기 4 https://www.acmicpc.net/problem/15989 15989번: 1, 2, 3 더하기 4 정수 4를 1, 2, 3의 합으로 나타내는 방법은 총 4가지가 있다. 합을 나타낼 때는 수를 1개 이상 사용해야 한다. 합을 이루고 있는 수의 순서만 다른 것은 같은 것으로 친다. 1+1+1+1 2+1+1 (1+1+2, 1+2+1) 2+2 www.acmicpc.net #include using namespace std; int t, n; int init[3][3] = {1, 1, 1, 0, 1, 1, 0, 0, 1}; int d[4][11234]; int main() { // init for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { d[i ..
[C++] 11723 : 집합 https://www.acmicpc.net/problem/11723 11723번: 집합 첫째 줄에 수행해야 하는 연산의 수 M (1 ≤ M ≤ 3,000,000)이 주어진다. 둘째 줄부터 M개의 줄에 수행해야 하는 연산이 한 줄에 하나씩 주어진다. www.acmicpc.net #include using namespace std; int m; int a; int main() { ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); cin >> m; string cmd; int x; while (m--) { cin >> cmd; if (cmd == "add") { cin >> x; a |= 1 > x; a &= ~(1 > x; if (a & 1
[C++] 2563 : 색종이 https://www.acmicpc.net/problem/2563 2563번: 색종이 첫째 줄에 색종이의 수가 주어진다. 이어 둘째 줄부터 한 줄에 하나씩 색종이를 붙인 위치가 주어진다. 색종이를 붙인 위치는 두 개의 자연수로 주어지는데 첫 번째 자연수는 색종이의 왼쪽 변 www.acmicpc.net #include using namespace std; int N; int cd[111][111]; //컴퓨터의 픽셀과 비슷 int main() { int x,y; int ans; cin>>N; ans=0; for(int j=0;j>x>>y; //픽셀 칠하기 for(int a=x;a
[C++] 1010 : 다리 놓기 https://www.acmicpc.net/problem/1010 1010번: 다리 놓기 입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트케이스에 대해 강의 서쪽과 동쪽에 있는 사이트의 개수 정수 N, M (0 >T; //Dynamic programming => Combinamtion table 채우기 d[0][0]=1; for(int i=1;iM; cout

728x90
반응형