[2016-03-19][UVA][11520][Fill the Square]
Posted 红洋
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[2016-03-19][UVA][11520][Fill the Square]相关的知识,希望对你有一定的参考价值。
时间:2016-03-19 14:52:10 星期六
题目编号:[2016-03-19][UVA][11520][Fill the Square]
题目大意:给定n<=10 的不完全矩阵,求填充完整矩阵,使得相邻的字母不同,并且字典序最小,输出最终的矩阵
方法:从左到右,从上到下,每个空格枚举’A’-‘Z’的所有情况,满足就跳出
#include <cstdio>
using namespace std;
#define FOR(x,y,z) for(int (x)=(y);(x)<(z);++(x))
const int maxn = 10 + 10;
char m[maxn][maxn];
int main(){
int t,cntcase = 0,n;
scanf("%d",&t);
while(t--){
scanf("%d",&n);getchar();
FOR(i,0,n) gets(m[i]);
FOR(i,0,n){
FOR(j,0,n){
if(m[i][j] == ‘.‘){
for(char ch = ‘A‘;ch <= ‘Z‘;++ch){
if(i > 0 && m[i - 1][j] == ch) continue;
if(i < n-1 && m[i + 1][j] == ch) continue;
if(j > 0 && m[i][j - 1] == ch) continue;
if(j < n - 1 && m[i][j + 1] == ch) continue;
m[i][j] = ch;break;
}
}
}
}
printf("Case %d:\n",++cntcase);
FOR(i,0,n) puts(m[i]);
}
return 0;
}
以上是关于[2016-03-19][UVA][11520][Fill the Square]的主要内容,如果未能解决你的问题,请参考以下文章
Uva 11520 - Fill the Square 贪心 难度: 0
UVa11520 Fill the Square (字典序枚举)
UVA - 11520 - Fill the Square(贪心)