본문 바로가기

완전탐색5

[BOJ] 15683. 감시 https://www.acmicpc.net/problem/15683 15683번: 감시 스타트링크의 사무실은 1×1크기의 정사각형으로 나누어져 있는 N×M 크기의 직사각형으로 나타낼 수 있다. 사무실에는 총 K개의 CCTV가 설치되어져 있는데, CCTV는 5가지 종류가 있다. 각 CCTV가 감 www.acmicpc.net 배운점 : barking dog 님의 풀이(4진법으로 풀기)는 굉장히 아름다운 풀이였다. 스스로 풀었는데, 난 백트래킹이라고 생각하는데 pruning이 없어서 그냥 완전탐색이다. 근데 난 머리속에 이 그림을 상상하며 풀었다. 이걸 손으로 구현하면 풀리겠다고 생각했다. 1. std::copy로 배열복사하는법 배웠다. (지정한 배열사이즈만큼 복사해야한다) int board_copy[10][.. 2021. 8. 31.
[BOJ] 2573 빙산 www.acmicpc.net/problem/2573 2573번: 빙산 첫 줄에는 이차원 배열의 행의 개수와 열의 개수를 나타내는 두 정수 N과 M이 한 개의 빈칸을 사이에 두고 주어진다. N과 M은 3 이상 300 이하이다. 그 다음 N개의 줄에는 각 줄마다 배열의 각 행을 www.acmicpc.net #include #include typedef long long ll; using namespace std; int board[305][305]; int board2[305][305]; bool visited[305][305]; int mx[4] = {0,0,1,-1}; //동 서 남 북 int my[4] = {1,-1,0,0}; int year; int solve(int n,int m) { int tx,.. 2021. 2. 23.
[BOJ] 2839. 설탕배달 #include #include #include #define MAX 10000001 typedef long long ll; using namespace std; int main(void) { int num; int sum = 0; int cnt; scanf("%d",&num); cnt = num / 5; if(num % 5 != 0) { for(int i = cnt; i >= cnt; i--)//500원을 많이 쓸 수록 좋음 { if( (num-5*i) % 3 == 0) { sum += i + (num- 5*i) / 3; break; } } }else{ printf("%d\n",num/5); return 0; } /* if(sum) printf("%d\n",sum); else printf("-1\n").. 2021. 2. 10.
[SWEA] 11315. 오목 판정 https://swexpertacademy.com/main/code/problem/problemDetail.do?problemLevel=3&contestProbId=AXaSUPYqPYMDFASQ&categoryId=AXaSUPYqPYMDFASQ&categoryType=CODE&problemTitle=&orderBy=FIRST_REG_DATETIME&selectCodeLang=ALL&select-1=3&pageSize=10&pageIndex=1 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com #include #include #include #include #include typedef long long ll; u.. 2021. 2. 4.
[SWEA] 2001 파리 퇴치 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5PzOCKAigDFAUq&categoryId=AV5PzOCKAigDFAUq&categoryType=CODE SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com #include #include typedef long long ll; using namespace std; int Board[15][15]; int main() { int tc; int N,M;// N = BoardSize, M = attack size int max; int sum = 0; scanf("%d",&t.. 2021. 1. 26.
728x90