n维超立方体

    技术2026-02-26  9

    n维超立方体

    题目代码

    题目

    题目:n维超立方体是在n维空间中对三维空间立方体的类比,下图便是一个4维超立方体在三维空间中的投影及该立方体在三维空间的展开图

    给超立方体的各顶点编号后,就可以按照一定规则写出其邻接矩阵。请同学们根据下图寻找规律,对于给定的顶点编号序列,写出对应的超立方体的邻接矩阵。

    输入:

    维数n,顶点的编号序列a(0<=n<=7)

    输出:

    对应的超立方体的邻接矩阵(顶点顺序需与a一致)

     测试输入期待的输出时间限制内存限制额外进程测试用例 1以文本方式显示 2↵0 1 2 3↵ 以文本方式显示 0 1 1 0↵1 0 0 1↵1 0 0 1↵0 1 1 0↵ 1秒64M0

    代码

    #include<stdio.h> #include<math.h> #include<string.h> #define reversebit(x,y) x^=(1<<y) int n; int num; int a[10000]; //记录输出顺序 int ex[10000]; //记录每行输出 int k; int main() { int i,j; scanf("%d",&n); num=pow(2,n); for(i=0;i<num;i++) { scanf("%d",&a[i]); } for(i=0;i<num;i++) { memset(ex, 0, sizeof(ex)); k=a[i]; for(j=0;j<n;j++) { int f=k; ex[reversebit(f,j)]=1; } printf("%d",ex[a[0]]); for(j=1;j<num;j++) { printf(" %d",ex[a[j]]); } printf("\n"); } }
    Processed: 0.030, SQL: 9