본문 바로가기

Algorithm

(9)
[백준][15685번][시뮬레이션] 드래곤 커브 드래곤 커브 https://www.acmicpc.net/problem/15685 #include #include #include #include #include #include using namespace std; int n, x, y, d, g; // 동 북 서 남 0 1 2 3 int map[101][101], visit[101][101]; struct location { int x, y; }; deque q; void initialMap(int arr[101][101]) { for (int i = 0; i < 10; i++) for (int j = 0; j < 10; j++) arr[i][j] = 0; } void printMap(int arr[101][101]) { printf("\n"); for..
[백준][14503번][시뮬레이션] 로봇 청소기 iSharp https://www.acmicpc.net/problem/14503 #include #include #include #include #include using namespace std; int n, m, r, c, d, dir = 0; //0123 북동남서 int map[51][51]; int visit[51][51]; // 청소안한곳 0, 벽이면 -1 int dx[4] = { -1,0,1,0 }; int dy[4] = { 0,1,0,-1 }; int solve(int a, int b, int cnt, int dir) { if (visit[a][b] == 0) { visit[a][b] = cnt; cnt++; } /* if (cnt == 60) { cout 0) && (visit[a][b +..
[백준][3568번][시뮬레이션] iSharp iSharp https://www.acmicpc.net/problem/3568 #include #include #include #include #include using namespace std; string a,b,c,d,e,temp,ans1,ans2; int main() { ios::sync_with_stdio(false); cin.tie(NULL); getline(cin, a); for (int i = 0; i < a.size(); i++) { if (a[i] == ' ') { b = a.substr(0, i); c = a.substr(i+1); break; } } int cnt = 0; for (int i = 0; i < c.size(); i++) { if (c[i] == ',' || c[i] =..
[백준][12100번][DPS] 2048 (Easy) 스도쿠 https://www.acmicpc.net/problem/12100 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889#include using namespace std;int n;int mat[20][20];//idx = 현재 깊이int solve(int idx){ if(idx==5) { int ret=0; //블록중에 최대 블록을 찾음. for(int i=0;i
[백준][1062번][DPS] 가르침 스도쿠 https://www.acmicpc.net/problem/2580 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182#include #include #include #include using namespace std; int n,k;string word[50];int know[26];int ans = 0;void dfs(int start, int cnt){ // x는 배운 글자 갯수 // k개의 글자를 다 배웠으면 //cout
[백준][14391번][DPS] 종이 조각 스도쿠 https://www.acmicpc.net/problem/2580 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273#include #include #include using namespace std; int arr[4][4]; int main(){ int n,m; int t,i,j,cur; int ans = 0; cin >> n >> m; for(int i=0;i
[백준][1987번][DPS] 알파벳 알파벳 https://www.acmicpc.net/problem/1987 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364#include #include #include using namespace std; char board[20][20];int check[30];int R,C,result;int dy[4] = {-1,1,0,0};int dx[4] = {0,0,-1,1}; // 보드 내에 점이 위치하는 지 체크하는 함수int inboard(int x, int y){ if(x>=0 && x=0 && y>C; for(int i=0;iboard[..
[백준][2580번][DPS] 스도쿠 스도쿠 https://www.acmicpc.net/problem/2580 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283#include #include #include using namespace std; int sudoku[9][9];bool chk_row[9][9];bool chk_col[9][9];bool chk_square[9][9]; // 입력한 행,렬의 값이 어디 정사각형에 해당하는지int square(int row, int col){ return (row /3)..