吉林大学,1477

来源:互联网 发布:安索夫矩阵案例 编辑:程序博客网 时间:2024/05/04 10:25
#include<iostream>#include<cstdio>using namespace std;int main(){   int n,k;   int nums[1001];   int tmp[1001];   int x;//第几个开始操作   while(scanf("%d%d",&n,&k)!=EOF){      if(n==0)break;  for(int i = 1;i<=n;i++)  nums[i] = i;  for(int i = 1;i<=k;i++){  scanf("%d",&x);          for(int j = x+1;j<=n;j++)//将nums的后半部分缓存到tem中         tmp[j-x] = nums[j];          for(int j = x;j>=1;j--)//将前面部分移动到后面部分,从后开始移动     nums[n-x+j]=nums[j];  for(int j = 1;j<=n-x;j++)//把tem里保存的再放回到nums的前面  nums[j] = tmp[j];  //第二个操作  int dd = n/2;  for(int a = 1,j=dd;a<j;a++,j--){     int tt = nums[a]; nums[a] = nums[j]; nums[j] = tt;  }  }  for(int i = 1;i<=n;i++)  printf("%d ",nums[i]);  printf("\n");  }}

0 0