전체 글(331)
-
[BOJ] 14889번 : 스타트와 링크
1. problem : https://www.acmicpc.net/problem/14889 2. solution 1 :#include using namespace std;int n;int board[22][22]; bool isused[12];vector star; vector link; int ans = 0x7f7f7f7f;int synergy_sum(vector& v) { int syn_sum = 0; for (int i = 0; i > n; for (int i = 0; i > board[i][j]; } vector boj(n,1); fill(boj.begin(), boj.begin() + n / 2, 0); do { int diff = 0; for (int i = 0; i 3. solu..
2024.08.24 -
[BOJ] 14888번 연산자 끼워넣기
1. problem : https://www.acmicpc.net/problem/14888 2. solution 1 :#include using namespace std;int n;int nums[102];int cal[4]; // + - x / ; int mxans = -0x7f7f7f7f, mnans = 0x7f7f7f7f;int temp_sum;void backTrack(int k) { if (k == n) { mxans = max(mxans, temp_sum); mnans = min(mnans, temp_sum); return; } if (k == 1) temp_sum = nums[0]; for (int i = 0; i 0) { int dormamu = temp_sum; if (..
2024.08.24 -
[BOJ] 14502번 : 연구소
1. problem : https://www.acmicpc.net/problem/14502 2. solution 1 :#include using namespace std;#define X first #define Y second int n, m; int board[10][10]; //400byte 원본int board2[10][10]; // 400byte 사본 -> 자유롭게 수정가능int dx[4] = { 0,1,0,-1 };int dy[4] = { 1,0,-1,0 };vector> viruse;vector wall;int ans;void bfs() { queue> Q; for (auto v : viruse) { Q.push({ v.X,v.Y }); } while (!Q.empty()) { auto..
2024.08.24 -
[BOJ] 13460번 : 구슬 탈출 2
1. problem : https://www.acmicpc.net/problem/13460 2. solution 1 :#include using namespace std;#define X first #define Y second int n, m;string board[12]; int dx[4] = { -1,0,1,0 };int dy[4] = { 0,1,0,-1 }; //북 -> 동 -> 남 -> 서pair red, blue;int ans = 0x7f7f7f7f;void backTrack() { for (int tmp = 0; tmp rpos = red, bpos = blue; //움직이는 값 pair before_rpos = red, before_bpos = blue; // 초기값; for (i..
2024.08.24 -
[BOJ] 14500번 : 테트로미노
1. problem : https://www.acmicpc.net/problem/14500 2. solution 1 :#include using namespace std;#define X first #define Y second int n, m;int board[502][502]; int ans = -1;vector> v;bool isbound(vector> v) {// 범위에 있는지 확인하는 함수 for (auto s : v) { if (s.X = n || s.Y = m) return false; } return true;}int cal_sum(vector> v) { int sum = 0; for (auto s : v) { sum += board[s.X][s.Y]; } return sum;}vo..
2024.08.23 -
[BOJ] 3190번 : 뱀
1. problem : https://www.acmicpc.net/problem/3190 2. solution 1 :#include using namespace std;#define X first#define Y second int n, k, l; // board 크기, 사과 개수, 방향 변환 횟수;int board[102][102];int isvis[102][102]; int dx[4] = { -1,0,1,0 };int dy[4] = { 0,1,0,-1 };pair head = { 0,0 };deque> snake;queue> dir_loc; // 방향변환 저장 bool isover = false; // game 끝났는지int gametime;int curdir = 1;void go(int dir)..
2024.08.23