목록PS (176)
득이공간
7569번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N과 쌓아올려지는 상자의 수를 나타내는 H가 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M ≤ 100, 2 ≤ N ≤ 100, www.acmicpc.net #include #include #include using namespace std; typedef tuple Coord; int Box[100][100][100]; int Day[100][100][100]; int M, N, H; int DX[6] = { -1, 1, 0, 0, 0, 0 }; // Left, Right int DY[6] = { 0, 0, -1, 1, 0, 0 }; // Top, Bottom int DZ[6] = { 0, ..
5430번: AC 각 테스트 케이스에 대해서, 입력으로 주어진 정수 배열에 함수를 수행한 결과를 출력한다. 만약, 에러가 발생한 경우에는 error를 출력한다. www.acmicpc.net #include #include #include using namespace std; deque Sequence; void Test() { int N; string P, Input; cin >> P >> N >> Input; int Prev = 1; int Next = Input.find(','); while (Next != string::npos) { string Sub = Input.substr(Prev, Next - Prev); Sequence.push_back(stoi(Sub)); Prev = Next + 1;..
1107번: 리모컨 첫째 줄에 수빈이가 이동하려고 하는 채널 N (0 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 고장난 버튼의 개수 M (0 ≤ M ≤ 10)이 주어진다. 고장난 버튼이 있는 경우에는 셋째 줄에는 고장난 버튼이 www.acmicpc.net #include #include using namespace std; int N, M, C; bool Broken[10]; bool IsPossible(string CurrentChannel, int Size) { for (int i = 0; i < Size; ++i) { int Number = CurrentChannel[i] - '0'; if (Broken[Number]) { return false; } } return true; } int ..
20529번: 가장 가까운 세 사람의 심리적 거리 각 테스트 케이스에 대한 답을 정수 형태로 한 줄에 하나씩 출력한다. www.acmicpc.net #include #include using namespace std; string Students[32]; int GetDistance(string A, string B, string C) { int Distance = 0; for (int i = 0; i > N; if (N..
11286번: 절댓값 힙 첫째 줄에 연산의 개수 N(1≤N≤100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 0이 아니라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0 www.acmicpc.net #include #include using namespace std; template struct compare { constexpr bool operator()(const _Ty& _Left, const _Ty& _Right) { return (abs(_Left) == abs(_Right)) ? _Left > _Right : abs(_Left) > abs(_Right); } }; priority_queue MinHeap; int main()..
6064번: 카잉 달력 입력 데이터는 표준 입력을 사용한다. 입력은 T개의 테스트 데이터로 구성된다. 입력의 첫 번째 줄에는 입력 데이터의 수를 나타내는 정수 T가 주어진다. 각 테스트 데이터는 한 줄로 구성된다. www.acmicpc.net #include using namespace std; int GCD(int A, int B) { if (B == 0) { return A; } return GCD(B, A % B); } int LCM(int A, int B) { return (A * B) / GCD(A, B); } void Test() { int M, N, X, Y; cin >> M >> N >> X >> Y; int MaxYear = LCM(M, N); for (int Year = X; Year
5525번: IOIOI N+1개의 I와 N개의 O로 이루어져 있으면, I와 O이 교대로 나오는 문자열을 PN이라고 한다. P1 IOI P2 IOIOI P3 IOIOIOI PN IOIOI...OI (O가 N개) I와 O로만 이루어진 문자열 S와 정수 N이 주어졌을 때, S안에 PN이 몇 www.acmicpc.net #include #include using namespace std; string S; int main() { ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int N, M; cin >> N >> M >> S; int Count = 0; for (int i = 0; i < M; ++i) { int K = 0; if (S[i] == 'O..
1389번: 케빈 베이컨의 6단계 법칙 첫째 줄에 유저의 수 N (2 ≤ N ≤ 100)과 친구 관계의 수 M (1 ≤ M ≤ 5,000)이 주어진다. 둘째 줄부터 M개의 줄에는 친구 관계가 주어진다. 친구 관계는 A와 B로 이루어져 있으며, A와 B가 친구라는 뜻 www.acmicpc.net #include #include #include #include using namespace std; const int Infinite = INT_MAX; int Distance[101][101]; vector OrderedList; bool Compare(const pair& Left, const pair& Right) { return (Left.second == Right.second) ? Left.first ..
21736번: 헌내기는 친구가 필요해 2020년에 입학한 헌내기 도연이가 있다. 도연이는 비대면 수업 때문에 학교에 가지 못해 학교에 아는 친구가 없었다. 드디어 대면 수업을 하게 된 도연이는 어서 캠퍼스 내의 사람들과 친해지고 www.acmicpc.net #include #include using namespace std; char Map[600][600]; queue SearchQueue; int N, M; const int DX[4] = { -1, 0, 1, 0 }; const int DY[4] = { 0, -1, 0, 1 }; int BFS(int StartX, int StartY) { int Count = 0; SearchQueue.emplace(StartX, StartY); while (!Se..
11279번: 최대 힙 첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0 www.acmicpc.net #include #include using namespace std; priority_queue MaxHeap; int main() { ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int N; cin >> N; for (int i = 0; i > Input; if (Input == 0) { if (MaxHeap.empty()) {..