201703-2 學生排隊
阿新 • • 發佈:2018-11-06
#include <iostream> #include <cmath> using namespace std; const int N=1010; int a[N]; int main(){ int n,m,number,move; cin>>n; cin>>m; for(int i=1;i<=n;i++){ a[i]=i; } int flag; while(m){ cin>>number>>move; for(int i=1;i<=n;i++){ if(a[i]==number){ flag=i; } } if(move>0&&move<=n-flag){ int temp=a[flag]; for(int i=flag;i<flag+move;i++){ a[i]=a[i+1]; } a[flag+move]=temp; } if(move<0&&move<flag){ move=abs(move); int temp=a[flag]; for(int i=flag;i>flag-move;i--){ a[i]=a[i-1]; } a[flag-move]=temp; } m--; } for(int i=1;i<=n;i++){ if(i <n) cout<<a[i]<<" "; else cout<<a[i]; } return 0; }
注意:學號與陣列號不一致,需要重新定義一個量進行儲存;