티스토리 뷰

알고리즘/BOJ

[백준] 9519 졸려

세진짱 2018. 7. 3. 15:35


졸려..나도..

졸려..는.. 문자열..문..제..다

눈..을..한번..감을..때마다.. 문자열이...바뀐..다..

..

이..때..K번...눈을..감았을..때...원래...문자열을..찾느..문..제다..

X가..딱봐도..너무...크므로..분명..싸이클이..있을테니..찾으면된다...

찾아서..X를..%..해주고..진짜..거꾸로..돌려보면..된다..


소스코드..

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
35
#include <iostream>
#include <string>
using namespace std;
string s;
char ans[1111];
int k;
 
int main() {
    scanf(" %d"&k);
    cin >> s;
    int n = s.size();
    int c = n / 2;
    string t = s;
    int cnt = 0;
    while (1) {
        string temp = "";
        cnt++;
        for (int i = 0; i <= c; i++) {
            temp += t[i];
            if (s[n-1- i]) temp += t[n-1 - i];
        }
        for (int i = 0; i < n; i++) t[i] = temp[i];
        if(s==t) break;
    }
    k %= cnt;
    while (k--) {
        int l = 0, r = n - 1;
        for (int i = 0; i < n; i++) {
            if (i & 1) ans[r--= s[i];
            else ans[l++= s[i];
        }
        for (int i = 0; i < n; i++) s[i] = ans[i];
    }
    cout << s;
}
cs


'알고리즘 > BOJ' 카테고리의 다른 글

[백준] 4991 로봇 청소기  (0) 2018.07.04
[백준] 10775 공항  (0) 2018.07.04
[백준] 1222 홍준 프로그래밍 대회  (0) 2018.07.03
[백준] 1184 귀농  (2) 2018.07.03
[백준] 3042 트리플렛  (0) 2018.07.02
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/12   »
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
글 보관함