BNU1068:比赛安排
#include <stdio.h>#include <string.h>#include <algorithm>using namespace std;int a[105];int main(){ int t,n,i,j,m; scanf("%d",&t); while(t--) { scanf("%d",&n); m = n; if(n%2) m++; printf("%d\n",m-1); for(i = 0; i<m; i++) a[i] = i+1; for(i = 1; i<m; i++) { int flag = 1; for(j = 0; j<m/2; j++) { if(a[j]<=n && a[m-1-j]<=n) { if(flag) { flag = 0; printf("%dvs%d",a[j],a[m-1-j]); } else printf(" %dvs%d",a[j],a[m-1-j]); } } printf("\n"); int tem = a[1]; for(j = 1; j<m; j++)//后移 a[j] = a[j+1]; a[m-1] = tem; } printf("\n"); } return 0;}