2585.txt

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

TXT
64
字号
Problem Id:2585  User Id:fzk 
Memory:24K  Time:0MS
Language:C++  Result:Accepted

Source 

#include"iostream.h"
#include"string.h"

int main()
{
	int map[10][10],i,j,k,h,a,b;
	char t[20];
	bool sign[9];

	while( 1 )
	{
		cin>>t;
		if( strcmp( t, "ENDOFINPUT" ) == 0 ) break;

		for( i=0; i<4; i++ )
		for( j=0; j<4; j++ )
			cin>>map[i][j];

		for( i=0; i<9; i++ )
			sign[i] = true;

		for( k=0; k<9; k++ )
		{
			for( h=0; h<9; h++ )
			if( sign[h] )
			{
				a = h / 3;
				b = h % 3;
				for( i=0; i<4; i++ )
				{
					if( map[a+i/2][b+i%2] != h+1 && map[a+i/2][b+i%2] != 0 )
						break;
				}

				if( i == 4 )
				{
					sign[h] = false;
					
					for( i=0; i<4; i++ )
					map[a+i/2][b+i%2] = 0;
				
					break;
				}
			}

			if( h == 9 )
			break;
			
		}

		if( k == 9 ) cout<<"THESE WINDOWS ARE CLEAN\n";
		else cout<<"THESE WINDOWS ARE BROKEN\n";
		cin>>t;
	}
	return 0;
}

⌨️ 快捷键说明

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