A. Right-Left Cipher

Solved.

注意长度的奇偶

 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 
 4 string s;
 5 int main()
 6 {
 7     while (cin >> s)
 8     {
 9         string res = "";
10         int len = s.size(); 
11         if (len == 1) 
12         {
13             cout << s << endl;
14             continue;
15         }
16         int l, r;
17         if (len & 1)
18         {
19             res += s[s.size() / 2];
20             l = len / 2 - 1, r = l + 2;
21             while (l >= 0)
22             {
23                 res += s[r];
24                 res += s[l];
25                 --l, ++r;
26             }
27         }
28         else
29            { 
30             l = len / 2 - 1;
31             r = l + 1;
32                while (l >= 0)
33             {
34                 res += s[l];
35                 res += s[r];
36                 --l, ++r;
37             }
38         }
39         cout << res << endl; 
40     }
41     return 0;
42 }
View Code

相关文章: