목록문제풀이/BAEKJOON Online Judge (75)
말랑한 하루
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/pU7kS/btqBMN4XTnA/UxKBa4aLcahFYLYYk0s4fK/img.png)
[문제] N개의 퀸이 서로 공격할 수 없게 만드는 경우의 수 [조건] 퀸은 으로 공격 가능하므로 그 경우를 제외한 조합을 찾아가면된다. [해결방법] 백트레킹 활용 DFS를 활용해서 N개의 퀸이 서로 같은 라인이거나 대각선에 존재하지 않을 때를 찾아가면된다 위 그림과같이 퀸이 놓일수 있는 1차원 배열 map[]이 존재할 때 현재의 map과 이전~현재까지의 map을 비교하여 같은라인인지 map[now] == map[yet] 대각선인지 map[now]-map[yet] == now-yet 판별해주면된다 [전체소스코드] #define _CRT_SECUORE_NO_WARNINGS #include #include #pragma warning(disable:4996) using namespace std; int map..
[문제] [조건] [해결방법] 1. 슬라이딩윈도우 덱을 오름차순으로 유지하며 소스코드를 진행하면된다. ㅡ덱의 처음이 지정된범위를 벗어난경우 제거해주는것 ㅡ덱의 마지막을 내가 덱에 추가하고자하는 값이 최대가 되도록 유지시켜주는것 2. 세그먼트 트리 [전체소스코드] 1. 슬라이딩 윈도우 #include #include #include #pragma warning(disable:4996) using namespace std; #define fs first #define se second deque q; int ary[5000001]; int main() { int test, L; cin >> test >> L; for (int i = 0; i > ary[i]; for (int ..