⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 1110.txt

📁 北大ACM题目例程 详细的解答过程 程序实现 算法分析
💻 TXT
字号:


#include "stdio.h"

char map[80][10][80];
int n;

int main( ) {
	int n, r, c, i, j, k, l, test = 0;
	while( scanf( "%d%d%d", &n, &r, &c ) == 3 ) {

		if( n == 0 )
			break;

		for( i=0; i<r; i++ ) {
			for( k=0; k<n; k++ )
				scanf( "%s", map[k][i] );
		}

		for( k=0; k<n; k++ ) {
			for( i=0; i<r*c; i++ ) {
				if( map[k][i/c][i%c] != '.' ) {
					for( l=0; l<n; l++ )
						if( l!=k && map[l][i/c][i%c] != '.' )
							break;
					if( l == n )
						break;
				}
			}
			if( i < r*c )
				map[k][i/c][i%c] = '#';
			else {
				for( i=0; i<r*c; i++ ) {
					if( map[k][i/c][i%c] != '.' ) {
						for( j=i+1; j<r*c; j++ ) {
							if( map[k][j/c][j%c] != '.' ) {
								for( l=0; l<n; l++ )
									if( l!=k && map[l][i/c][i%c] != '.' && map[l][j/c][j%c] != '.' )
										break;
								if( l == n )
									goto loop;
							} //if
						} //for
					} //if
				}//for
loop:
				if( i < r*c )
					map[k][i/c][i%c] = '#', map[k][j/c][j%c] = '#';
				else
					break;
			}
		}

		printf( "Test %d\n", ++test );
		if( k < n ) 
			printf( "impossible\n" );
		else for( i=0; i<r; i++ ) {
			for( k=0; k<n; k++ )
				printf( "%s%s", k?" ":"", map[k][i] );
			printf( "\n" );
		}
	}
	return 0;
}

⌨️ 快捷键说明

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