uva 133

    xiaoxiao2025-04-03  10

    #include<iostream> #include<stack> #include<vector> #include <iomanip> using namespace std; int a[21]; int main() { int n,k,m; int temx=0,temy=0; while(cin>>n>>k>>m) { if(n==0&&k==0&&m==0) break; for(int i=0;i<=n;i++) { a[i]=i; } int p=1,l=n; while(1) { int counta=k,countb=m; while(counta) { if(a[p]!=0) { --counta; temx=a[p]; } p++; if(p>n) p=p%n; } p--; while(countb) { if(a[l]!=0) { countb--; temy=a[l]; } l--; while(l<=0) l=l+n; } l++; if(temx!=temy) cout << setw(3) <<a[temx] <<setw(3)<<a[temy]; else cout<<setw(3)<<a[temx]; a[temx]=0;a[temy]=0; int c=0; for(int i=1;i<=n;i++) { if(a[i]==0) c++; } if(c==n) { cout<<endl; break; } if(c!=n) cout<<","; } } return 0; } 这道题没有什么特别的数据结构,  就用了数组模拟。小心一点写就可以了。
    转载请注明原文地址: https://ju.6miu.com/read-1297685.html
    最新回复(0)