测试用例: 第一行 q 第二行 字符串  (需要保证为2的n次方,且n大于q) 如: 输入: 1 ABCD 输出: BA DC 输入: 2 ABCDEFGH 输出: DCBA HGFE 暴力解法: #include <iostream> #include <string> #include <cmath> #include <algorithm>   using namespace std; int main(){     int q;     cin >> q;     string str;     cin >> str;     int len = str.size(); //获取输入字符串长度,即为2^n     string tmp;       int cnt = 1;     int k = 0;     for(int i = 0; i < len; i++){         tmp.push_back(str[i]);         k++;         if(k == pow(2, q)){             reverse(tmp.begin(), tmp.end());//翻转字符数组             cout << tmp << " "; //输出翻转字符数组             tmp.erase();  //字符数组清空             string tmp;  //重新声明一个字符数组             k = 0;         }     }     cout << tmp << endl;     system("pause");     return 0; }
点赞 评论

相关推荐

牛客网
牛客企业服务