#include <iostream> #include <queue> #include <vector> using namespace std; // 解密函数 vector<int> decrypt(vector<int> encrypted) { queue<int> q; // 将第偶数个数加入队列 for (int i = 0; i < encrypted.size(); i += 2) { q.push(encrypted[i + 1]); } int n = encrypted.size(); // 如果数组长度为奇数,将最后一个数加入队列 if (n % 2 == 1) { q.push(encrypted[n - 1]); } vector<int> decrypted; // 依次取出队列中的数,加入 decryted 数组 while (!q.empty()) { decrypted.push_back(q.front()); q.pop(); // 如果队列中还有数,将下一个数取出并加入队尾 if (!q.empty()) { int x = q.front(); q.pop(); q.push(x); } } return decrypted; } int main() { int n; cin >> n; vector<int> encrypted(n); // 输入加密后的数字 for (int i = 0; i < n; i++) { cin >> encrypted[i]; } // 解密数字 vector<int> decrypted = decrypt(encrypted); // 输出解密后的数字 for (int i = 0; i < decrypted.size(); i++) { cout << decrypted[i] << " "; } cout << endl; return 0; }
时间: 2024-04-27 18:22:26 浏览: 55
vc++2008编译不了#include<iostream.h>头文件
4星 · 用户满意度95%
根据您提供的代码,我发现其中有两个问题。
首先,您的代码存在格式问题,可能是因为在复制时出现了问题。请注意确保每个语句都在自己的行上,以便编译器可以正确解析代码。
其次,您的代码中使用了"#"字符来注释,但这是错误的注释方法。正确的注释方法是使用"//"或"/\* \*/",具体取决于您想要注释的代码部分。
如果您仍然遇到问题,请提供更多详细信息,以便我能够更好地帮助您。
阅读全文