

注解
1、简单模拟题,模拟此过程即可。
代码
#include <iostream>
#include <cstring>
using namespace std;
int main() {
int n;
cin>>n;
for(int i=0; i<n; i++) {
int m;
cin>>m;
int a[m+1];
memset(a, 0, sizeof(a));
int cnt = m;
int ite = 1;
while(cnt>3) {
int tmp = 0;
for(int j=1; j<m+1; j++) {
if(!a[j]) {
tmp++;
if(ite%2 && !(tmp%2)) {
a[j] = 1;
cnt--;
} else if(!(ite%2) && !(tmp%3)) {
a[j] = 1;
cnt--;
}
}
}
ite++;
}
cout<<"1";
for(int j=2; j<m+1; j++){
if(!a[j]){
cout<<" "<<j;
}
}
cout<<endl;
}
return 0;
}
结果

本文深入探讨了使用C++实现的一种模拟算法,通过具体题目解析,详细介绍了算法的设计思路和实现过程。文章提供了完整的代码示例,展示了如何利用C++进行高效的数据处理和逻辑模拟。
515

被折叠的 条评论
为什么被折叠?



