알고리즘/알고리즘 문제 해결전략(종만북)
7장 쿼드 트리(QUADTREE)
pureworld
2018. 12. 25. 20:21
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | #include<iostream> #include<string> #include<vector> #include<cassert> using namespace std; string reverse(string::iterator& it) { char head = *it; ++it; if (head == 'b' || head == 'w') return string(1, head); string ul = reverse(it); string ur = reverse(it); string ll = reverse(it); string lr = reverse(it); return string("x") + ll + lr + ul + ur; } int main() { int cases; cin >> cases; for (int cc = 0; cc < cases; ++cc) { string quadtree; cin >> quadtree; assert(quadtree.size() <= 1000); string::iterator it = quadtree.begin(); string reversed = reverse(it); cout << reversed << endl; } } | cs |
문제 출처:https://algospot.com/judge/problem/read/QUADTREE
알고스팟 사이트에서 채점해서 정답이 뜨긴 했지만 책의 내용을 습득했다고 할 수가 없다. 아직 내 머리는 이런 알고리즘을 떠올리는건
상상도 안된다... 아직 멀었다.