https://www.acmicpc.net/problem/6549 6549번: 히스토그램에서 가장 큰 직사각형 입력은 테스트 케이스 여러 개로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있고, 직사각형의 수 n이 가장 처음으로 주어진다. (1 ≤ n ≤ 100,000) 그 다음 n개의 정수 h1, ..., hn (0 ≤ hi ≤ www.acmicpc.net #define F first #define S second #include #include using namespace std; stack sta; int main(void) { cin.tie(0); ios_base::sync_with_stdio(NULL); long long int max, s, h; int n; while (1) { ci..
1. 문제 https://www.acmicpc.net/problem/14601 14601번: 샤워실 바닥 깔기 (Large) 첫 번째 줄에는 바닥의 한 변의 길이를 표현하는 자연수 K(1 ≤ K ≤ 7) 가 주어진다. 이때 바닥의 크기는 2K 가 됨에 유의하라. 두 번째 줄에는 배수구의 위치를 나타내는 자연수 x, y (1 ≤ x, y ≤ 2K) www.acmicpc.net #include using namespace std; int num; int map[128][128]; bool check(int x1, int y1, int x2, int y2) { for (int i = x1; i < x2; i++) { for (int j = y1; j < y2; j++) { if (map[i - 1][j - 1..
/************************************************* 짝수번: A x A x A x A = (A x A) x (A x A) 홀수번: A x A x A x A x A = (A x A) x (A x A) x A *************************************************/ #include using namespace std; long long int dc(int a, int b, int c) { if (b == 1) return a % c;//base condition: A의 1승 if (b % 2) return dc(a, b / 2, c) * dc(a, b / 2, c) % c * a % c; else return dc(a, b / 2, c..
#include using namespace std; int num; int map[4][4]; bool check(int x1, int y1, int x2, int y2) { for (int i = x1; i > m >> n; map[m-1][n-1] = -1; int siz = (1 = 0; i--, cout
https://www.acmicpc.net/blog/view/128 [C++] tie 와 sync_with_stdio 머릿말 C++ 프로그램을 작성할 때 main 함수에 다음과 같은 문장을 쓰면 속도가 빨라진다고 알고 있는 사람이 많을 겁니다. int main() { cin.tie(nullptr); ios_base::sync_with_stdio(false); /* 실제 프로그램 */ } www.acmicpc.net
//white: 0, black: 1 #define SIZE 64 #include using namespace std; int dat; int cnt; int map[SIZE][SIZE]; // change - true, not change - false bool check(int x1, int y1, int x2, int y2) { dat = map[x1][y1]; for (int i = x1; i < x2; i++) { for (int j = y1; j < y2; j++) { if (dat != map[i][j]) return true; } } return false; } int dc(int size, int x, int y) { if (size == 1) return 2; if (!check(x, ..
//white: 0, black: 1 #define SIZE 2187 #include #include #include using namespace std; int dat; // -1, 0, 1 int cnt[3]; // -1: 0, 0: 1, 1: 2 int map[SIZE][SIZE]; // change - true, not change - false bool check(int x1, int y1, int x2, int y2) { dat = map[x1][y1]; for (int i = x1; i < x2; i++) { for (int j = y1; j < y2; j++) { if (dat != map[i][j]) return true; } } return false; } void dc(int size..