标签:space stream -- print math.h card queue scanf AC
思维题,把n个卡片倒着放,然后每个卡片循环放到最底下i次,最后出来的结果就是要求的卡牌顺序
#include<stdio.h> #include<string.h> #include<math.h> #include<time.h> #include<iostream> #include<ctype.h> #include<map> #include<set> #include<string> #include<vector> #include<algorithm> #include<stdlib.h> #include<queue> #include<stack> using namespace std; int n; int a[25]; int b[25]; void zhuan(int bot,int top,int k) { int i,j; while(k--) { int t=a[top],tt; for(i=bot; i<=top; i++) { tt=a[i]; a[i]=t; t=tt; } } } int main() { int t; int top,bot,i,j; scanf("%d",&t); while(t--) { scanf("%d",&n); for(i=1; i<=n; i++) a[i]=i; top=bot=n; for(i=n; i>=1; i--) { zhuan(bot,top,i%(top-bot+1)); bot--; } for(i=1; i<=n; i++) printf("%d ",a[i]); printf("\n"); } }
标签:space stream -- print math.h card queue scanf AC
原文地址:https://www.cnblogs.com/nr1999/p/9067134.html