UVa11520
来源:互联网 发布:windows svn 备份恢复 编辑:程序博客网 时间:2024/05/24 04:20
题目链接
简介:方格填字母,相邻的要求互异
分析:
题目要求输出字典序最小的方案,
实际上这就是在提示我们这道题的解法:
我们直接贪心的向方格里填数就好了
一开始我还以为要搜索,一道搜到一种合法方案就停止,实际上这就是贪心填数的过程
//这里写代码片#include<cstdio>#include<cstring>#include<iostream>using namespace std;int mp[20][20],n;void solve(){ int i,j,k; for (i=1;i<=n;i++) for (j=1;j<=n;j++) { if (mp[i][j]!=-1) continue; bool ff; for (k=0;k<26;k++) { ff=1; if (i>1&&mp[i-1][j]==k) ff=0; if (j>1&&mp[i][j-1]==k) ff=0; if (i<n&&mp[i+1][j]==k) ff=0; if (j<n&&mp[i][j+1]==k) ff=0; if (ff) { mp[i][j]=k; break; } } }}int main(){ int T; scanf("%d",&T); for (int cas=1;cas<=T;cas++) { scanf("%d",&n); char s; for (int i=1;i<=n;i++) for (int j=1;j<=n;j++) { cin>>s; if (s=='.') mp[i][j]=-1; else mp[i][j]=s-'A'; } solve(); printf("Case %d:\n",cas); for (int i=1;i<=n;i++) { for (int j=1;j<=n;j++) printf("%c",mp[i][j]+'A'); printf("\n"); } } return 0;}
阅读全文
0 0
- uva11520
- UVa11520
- UVa11520
- uva11520(贪心)
- uva11520 Fill the Square
- uva11520 Fill the Square
- UVA11520填充正方形
- Uva11520 - Fill the Square
- uva11520 - Fill the Square
- uva11520 Fill the Square
- uva11520填字母
- UVa11520-Fill the Square
- uva11520 Fill the Square
- uva11520 填充正方形
- 【贪心】【uva11520】 Fill the Square
- 例题1.14 填充正方形 UVa11520
- UVA11520(p31)----Fill the Square
- UVA11520 Fill the Square 枚举
- Functional Java 学习笔记
- ubuntu 14.04 apt-get 方式安装oracle JDK
- 如何让浏览器的滚动条消失但是还能滚动
- 070 定积分 和、积极限的计算
- 排序算法学习(一)
- UVa11520
- 数据结构之:字符串
- 在 Flask 中使用 Celery
- 求10 个整数中最大值。
- HDU 4609 3-idiots(FFT+容斥)
- 端口映射的几种方式
- matplotlib(一)——pyplot使用简介
- 将三个数按从大到小输出。
- ubuntu ssh 安装