2837.txt

来自「北大ACM题目例程 详细的解答过程 程序实现 算法分析」· 文本 代码 · 共 38 行

TXT
38
字号
Source

Problem Id:2837  User Id:fzk 
Memory:1048K  Time:109MS
Language:C++  Result:Accepted

Source 

#include <stdio.h>

int ans[512][512];

int main( ) {
	int i, j, k, n;
	ans[0][0] = 1;

	scanf( "%d", &n );

	for( i=1; i<(1<<n); i<<=1 ) {
		for( j=i; j<i*2; j++ )
		for( k=i; k<i*2; k++ )
			ans[j][k] = ans[j-i][k-i];
		for( j=0; j<i; j++ )
		for( k=i; k<i*2; k++ )
			ans[j][k] = ans[j][k-i] + i*2;
		for( j=i; j<i*2; j++ )
		for( k=0; k<i; k++ )
			ans[j][k] = ans[j-i][k] + i*2 + (j-i==k?-1:0);
	}
	
	for( i=0; i<(1<<n); i++ )
	for( j=0; j<(1<<n); j++ )
		printf( "%d%c", ans[i][j], j==(1<<n)-1?'\n':' ' );

	return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?