본문 바로가기

분류 전체보기

(695)
7393 이번 문제는 내 힘으로 못 풀었고, 위와 비슷한 개념의 문제를 해결한 아래 블로그에서 어떻게 푸는지 공부하였고, 이에대해 내가 이해한 바 이다. https://jaimemin.tistory.com/547 static int table[10][100 + 1][1 9) //범위를 넘는 수. return 0; if (length == N) //원하는 길이에 도달 함. return ((big_bit == (1 = 0) //cache hit, return ret; //cache miss, int ret1 = __solution(start - 1, length + 1, big_bit | (1
7102 static int N; static char X[10000000 + 1 + 1]; static int solution(void) { scanf("%d %s\n", &N, X); int len = strlen(X) - 1, ret = 0, div = N - 1; for (int i = len; i >= 0; i--) ret = (ret + (X[i] - '0')) % div; return ret; }
7193 static int N; static char X[10000000 + 1 + 1]; static int solution(void) { scanf("%d %s\n", &N, X); int len = strlen(X) - 1, ret = 0, div = N - 1; for (int i = len; i >= 0; i--) ret = (ret + (X[i] - '0')) % div; return ret; }
6900 static int N, M; static queue q; static list l; static list v; static queue qq; static int check(string &s1) { int same = 0; list::iterator s, e; list::iterator ls, le; for (int pos = 0; s1[pos] != 0; pos++) { if (s1[pos] != '*') l.push_back(pos); } e = v.end(); le = l.end(); for (s = v.begin(); s != e; s++) { for (ls = l.begin(); ls != le; ls++) { if (s1[*ls] != s->at(*ls)) break; } if (ls == l..
6913 static int N, M; static void solution(void) { int max = -1, per, tot, tmp; scanf("%d %d", &N, &M); for (int i = 1; i
7699 static int y, x; static char board[20][20] = { 0, }; static int visit[255] = { 0, }; static bool check(int ny, int nx) { if (ny = y) return false; else if (nx = x) return false; else if (visit[board[ny][nx]]) return false; else return true; } static int __solution(int sy, int sx) { if (!check(sy, sx)) return 0; visit[board[sy][sx]] = 1; int up = 1 + __solution(sy - 1, sx); ..
7087 static char buf[32]; static int table[255]; static int solution(void) { int N, ret = 0; scanf("%d", &N); for (int i = 1; i
7792 static vector table[21]; static int exist[255] = { 0, }; static void solution(void) { int N, max = -1, cur = 0; char buf[32]; scanf("%d\n", &N); //개행도 같이 읽혀짐. for (int i = 1; i max) max = cur; table[cur].push_back(buf); cur = 0; memset(exist, 0, sizeof(int) * 100); } for (int i = 0; i < max; i++) table[i].clear(); sort(table[max].begin(), table[max].end()); printf("%s", table[max][0].data()); //..
7272 static const char * ans[2] = { "DIFF", "SAME" }; static char one_hole[] = { 'A', 'D', 'O', 'P', 'Q', 'R' }; static int table[255] = { 0, }; static int solution(void) { char buf1[16], buf2[16]; scanf("%s %s", buf1, buf2); int size; if ((size = strlen(buf1)) != strlen(buf2)) return 0; for (int i = 0; i < size; i++) { if (table[buf1[i]] != table[buf2[i]]) return 0; } return 1; } static inline void ..
7701 static vector table[51]; static char buf[64]; static string dummy("0"); static void solution(void) { int N, max_len = 0, len; scanf("%d", &N); for (int i = 1; i = max_len) max_len = len; } for (int i = 1; i