感觉模拟题用函数分块写比较清晰~传参的话,字符串要么直接全局,或者指针也是容易操作,总之思路清晰,然后分块清晰,模拟wa的少吧。
这题水题,不说了。#includeusing namespace std;typedef long long LL;int n,m;int ma[110][5];void init(){ for(int i=1;i<=n;i++) { for(int j=1;j<=4;j++) ma[i][j]=-1; }}void solve(){ int num; num=1; for(int i=1;i<=n;i++) { ma[i][1]=num++; if(num>m) return; ma[i][4]=num++; if(num>m) return; } for(int i=1;i<=n;i++) { ma[i][2]=num++; if(num>m) return; ma[i][3]=num++; if(num>m) return; }}void print(){// for(int i=1;i<=n;i++)// {// for(int j=1;j<=4;j++)// printf("%d ",ma[i][j]);// puts("");// } int flag=0; for(int i=1;i<=n;i++) { if(ma[i][2]!=-1) { if(flag) printf(" "); flag=1; printf("%d",ma[i][2]); } if(ma[i][1]!=-1) { if(flag) printf(" "); flag=1; printf("%d",ma[i][1]); } if(ma[i][3]!=-1) { if(flag) printf(" "); flag=1; printf("%d",ma[i][3]); } if(ma[i][4]!=-1) { if(flag) printf(" "); flag=1; printf("%d",ma[i][4]); } }}int main(){ scanf("%d%d",&n,&m); init(); solve(); print(); return 0;}