POJ 1721 CARDS G++ 看书组合数学置换群 背

    技术2025-03-06  36

    #include <iostream> #include <cstdio> using namespace std; //英语 看博友好分析 抄博友程序 看书 组合数学置换群 背 int a[1008]; int b[1008]; int c[1008]; int main() { int n,m; //cin>>n>>m; while(scanf("%d%d",&n,&m)!=EOF) { for(int i=1;i<=n;i++) { //cin>>a[i]; scanf("%d",&a[i]); b[i]=a[i]; } int js=0; while(1) { for(int i=1;i<=n;i++) { c[i]=a[a[i]];//置换 } for(int i=1;i<=n;i++) { a[i]=c[i]; } js++;//抄博友程序 int ff=0; for(int i=1;i<=n;i++) { if(a[i]!=b[i]) { ff=1; } } if(ff==0) { break; } //js++; } m=m%js;//抄博友程序 m=js-m;//抄博友程序 js=0; while(1) { for(int i=1;i<=n;i++) { c[i]=a[a[i]]; } for(int i=1;i<=n;i++) { a[i]=c[i]; } js++; if(js==m) { break; } } for(int i=1;i<=n;i++) { cout<<a[i]<<endl; } } return 0; }

     

    Processed: 0.010, SQL: 9