쿼드 트리 뒤집기 문제입니다. stl을없이 구현을 시도하였으나... cas11 stl 없이 구현하는 연습 중이라 코드가 복잡해 보일 수 있어요.. 딱히 고려할 예외가 떠오르지 않습니다. 예제는 맞는데 오류로 뜨네요... 어느부분이 오류를 만드는지 혹시 보이는지 궁급합니다! /////////////// #include <iostream> using namespace std; char cv[1001]; char sol[1001]; int n; void strCpy1(char des[], char src[]) { int i; for (i = 0;; i++) { if (src[i] == '\0') break; des[i] = src[i]; } des[i] = '\0'; } void strCpy2(char des[], char src[], int& num) { int i; for (i = 0;; i++) { if (src[i] == '\0') break; des[num++] = src[i]; } des[num] = '\0'; } char* solve(int& t) { char pivot = cv[t]; char tmp[1001]; for (int i = 0; i < 1001; i++) tmp[i] = '\0'; ++t; if (pivot == 'b' || pivot == 'w') { tmp[0] = pivot; return tmp; } char site[4][1001]; strCpy1(site[2], solve(t)); strCpy1(site[3], solve(t)); strCpy1(site[0], solve(t)); strCpy1(site[1], solve(t)); tmp[0] = 'x'; int num = 1; for (int i = 0; i < 4; i++) strCpy2(tmp, site[i], num); return tmp; } int main() { int tc; cin >> tc; while (tc--) { cin >> cv; int a = 0; strCpy1(sol, solve(a)); for (int i = 0; sol[i] != '\0'; i++) cout << sol[i]; cout << endl; } } 6년 전
0개의 댓글이 있습니다. 정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.
cas11
stl 없이 구현하는 연습 중이라 코드가 복잡해 보일 수 있어요..
딱히 고려할 예외가 떠오르지 않습니다. 예제는 맞는데 오류로 뜨네요... 어느부분이 오류를 만드는지 혹시 보이는지 궁급합니다!
///////////////
6년 전