这题果然就是个暴力题....

看每个T的四个方向,有'.',或者在边界上就填1

不然就填四个方向上最小的那个数再加1

然而写wa了几发,有点蠢...

 #include <bits/stdc++.h>

 using namespace std;

 char a[][];
int vis[][]; int dir[][] = {,,,-,,,-,};
int n,m; bool ok(int x,int y) {
if(x < || y < || x > n || y > m) {
return false;
}
return true;
}
int main() { cin>>n>>m;
memset(vis,,sizeof(vis));
for(int i = ; i <= n; i++) {
scanf("%s",a[i] + ); }
for(int i = ; i <= ; i++) {
for(int j = ; j <= ; j++) {
vis[i][j] = ;
}
} for(int k = ; k <= ; k++) {
for(int i = ; i <= n; i++) {
for(int j = ; j <= m; j++) {
if(a[i][j] == 'T') {
for(int x = ; x < ; x++) {
int nx = i + dir[x][];
int ny = j + dir[x][];
if(!ok(nx,ny)) {
/*if(i == 2 && j == 17) {
cout<<vis[nx][ny]<<endl;
}*/
vis[i][j] = ;
break;
}
if(ok(nx,ny) && a[nx][ny] == '.') { vis[i][j] = ;
break; }
else if(ok(nx,ny) && vis[nx][ny] != ) { vis[i][j] = min(vis[i][j],vis[nx][ny] + );
}
}
}
}
} } int cnt = ;
for(int i = ; i <= n; i++) {
for(int j = ; j <= m; j++) {
if(vis[i][j] != ) {
cnt = max(cnt,vis[i][j]);
}
}
} //cout<<cnt<<endl;
if(cnt < ) {
for(int i = ; i <= n; i++) {
for(int j = ; j <= m; j++) {
//cout<<vis[i][j]<<' ';
if(vis[i][j] == ) {
printf("..");
}
else {
printf(".");
printf("%d",vis[i][j]);
} }
printf("\n");
}
}
else {
for(int i = ; i <= n; i++) {
for(int j = ; j <= m; j++) {
if(vis[i][j] == ) {
printf("...");
}
else if(vis[i][j] < ) {
printf("..");
printf("%d",vis[i][j]);
}
else {
printf(".");
printf("%d",vis[i][j]);
} }
printf("\n");
}
} }

codeforces gym 100825 D Rings的更多相关文章

  1. 【宽搜】ECNA 2015 D Rings (Codeforces GYM 100825)

    题目链接: http://codeforces.com/gym/100825 题目大意: 给你一张N*N(N<=100)的图表示一个树桩,'T'为年轮,'.'为空,求每个'T'属于哪一圈年轮,空 ...

  2. 【最大流】ECNA 2015 F Transportation Delegation (Codeforces GYM 100825)

    题目链接: http://codeforces.com/gym/100825 题目大意: N(N<=600)个点,每个点有个名字Si,R(R<=200)个生产商在R个点上,F(F<= ...

  3. 【宽搜】ECNA 2015 E Squawk Virus (Codeforces GYM 100825)

    题目链接: http://codeforces.com/gym/100825 题目大意: N个点M条无向边,(N<=100,M<=N(N-1)/2),起始感染源S,时间T(T<10) ...

  4. 【模拟】ECNA 2015 I What's on the Grille? (Codeforces GYM 100825)

    题目链接: http://codeforces.com/gym/100825 题目大意: 栅栏密码.给定N(N<=10),密钥为一个N*N的矩阵,'.'代表空格可以看到,'X'代表被遮挡,还有密 ...

  5. Codeforces Gym 101252D&&floyd判圈算法学习笔记

    一句话题意:x0=1,xi+1=(Axi+xi%B)%C,如果x序列中存在最早的两个相同的元素,输出第二次出现的位置,若在2e7内无解则输出-1. 题解:都不到100天就AFO了才来学这floyd判圈 ...

  6. Codeforces Gym 101190M Mole Tunnels - 费用流

    题目传送门 传送门 题目大意 $m$只鼹鼠有$n$个巢穴,$n - 1$条长度为$1$的通道将它们连通且第$i(i > 1)$个巢穴与第$\left\lfloor \frac{i}{2}\rig ...

  7. Codeforces Gym 101623A - 动态规划

    题目传送门 传送门 题目大意 给定一个长度为$n$的序列,要求划分成最少的段数,然后将这些段排序使得新序列单调不减. 考虑将相邻的相等的数缩成一个数. 假设没有分成了$n$段,考虑最少能够减少多少划分 ...

  8. 【Codeforces Gym 100725K】Key Insertion

    Codeforces Gym 100725K 题意:给定一个初始全0的序列,然后给\(n\)个查询,每一次调用\(Insert(L_i,i)\),其中\(Insert(L,K)\)表示在第L位插入K, ...

  9. Codeforces gym 101343 J.Husam and the Broken Present 2【状压dp】

     2017 JUST Programming Contest 2.0 题目链接:Codeforces gym 101343 J.Husam and the Broken Present 2 J. Hu ...

随机推荐

  1. Unity基础-图形渲染

    图形渲染-Camera Camera下的Clear Flags:Skybox,Don't Clear,Depth only(深度),Solid Color(固定颜色) Culling Mask:渲染层 ...

  2. 阿里大鱼短信发送 FOR DT

    //增加了参数$action 来标志发送的是什么短信 注册短信 验证码短信 提示短信等 function send_sms($mobile, $message, $word = 0, $time = ...

  3. Python学习笔记:wxPython(GUI图形用户界面)

    wxPython是一套基于Python的第三方GUI插件,可用Python制作丰富的图形化界面程序. 安装:pip install wxPython 或者 网站下载安装https://pypi.org ...

  4. Html5_css

    CSS 在标签上设置style属性: background-color: #2459a2; height: 48px; ... 编写css样式: 1. 标签的style属性 2. 写在head里面 s ...

  5. 安装repo

    $ sudo apt-get install curl -y$ curl "http://android.git.linaro.org/gitweb?p=tools/repo.git;a=b ...

  6. Android开发——减小APK大小

    0. 前言 APK的大小对APP的加载速度,使用内存大小和消耗功率多少有一定影响.如何减小APK的大小对于Android开发者是一个永恒的话题. 查阅了很多相关资料,并将其做了删减以及总结.本文原创, ...

  7. Python 综合应用小项目一

    数据库报错重连机制 利用异常捕获来获取mysql断开的报错,然后再重连 import MySQLdb as mysql class DB: def __init__(self,host,user,pa ...

  8. luogu3381 【模板】最小费用最大流

    每次选代价最小的流增广 #include <iostream> #include <cstring> #include <cstdio> #include < ...

  9. 总结:PHP值得注意的几个问题

    1.除了变量和常量区分大小写外,其他的标识符不区分大小写(例如关键字,类名,函数名等): 2. >>>是无符号右移,不管第一位是0还是1,右移后前面都是补0: 3.在函数中传递数组, ...

  10. 【185天】黑马程序员27天视频学习笔记【Day14-下】

    叨逼叨两句 不容易,白天被叫去帮忙,不得已晚上来挑灯夜战,熬到2点,总算完成任务了. 我打算下周开始换一个更新时间,每次把deadline设置为晚上12点,都会接近或者超过这个时间,之后改成中午12点 ...