codeforces gym 100825 D Rings
这题果然就是个暴力题....
看每个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的更多相关文章
- 【宽搜】ECNA 2015 D Rings (Codeforces GYM 100825)
题目链接: http://codeforces.com/gym/100825 题目大意: 给你一张N*N(N<=100)的图表示一个树桩,'T'为年轮,'.'为空,求每个'T'属于哪一圈年轮,空 ...
- 【最大流】ECNA 2015 F Transportation Delegation (Codeforces GYM 100825)
题目链接: http://codeforces.com/gym/100825 题目大意: N(N<=600)个点,每个点有个名字Si,R(R<=200)个生产商在R个点上,F(F<= ...
- 【宽搜】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) ...
- 【模拟】ECNA 2015 I What's on the Grille? (Codeforces GYM 100825)
题目链接: http://codeforces.com/gym/100825 题目大意: 栅栏密码.给定N(N<=10),密钥为一个N*N的矩阵,'.'代表空格可以看到,'X'代表被遮挡,还有密 ...
- Codeforces Gym 101252D&&floyd判圈算法学习笔记
一句话题意:x0=1,xi+1=(Axi+xi%B)%C,如果x序列中存在最早的两个相同的元素,输出第二次出现的位置,若在2e7内无解则输出-1. 题解:都不到100天就AFO了才来学这floyd判圈 ...
- Codeforces Gym 101190M Mole Tunnels - 费用流
题目传送门 传送门 题目大意 $m$只鼹鼠有$n$个巢穴,$n - 1$条长度为$1$的通道将它们连通且第$i(i > 1)$个巢穴与第$\left\lfloor \frac{i}{2}\rig ...
- Codeforces Gym 101623A - 动态规划
题目传送门 传送门 题目大意 给定一个长度为$n$的序列,要求划分成最少的段数,然后将这些段排序使得新序列单调不减. 考虑将相邻的相等的数缩成一个数. 假设没有分成了$n$段,考虑最少能够减少多少划分 ...
- 【Codeforces Gym 100725K】Key Insertion
Codeforces Gym 100725K 题意:给定一个初始全0的序列,然后给\(n\)个查询,每一次调用\(Insert(L_i,i)\),其中\(Insert(L,K)\)表示在第L位插入K, ...
- 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 ...
随机推荐
- Linux 文本编辑常用快捷键
一.编辑模式 vim有三种编辑模式 1. i 进入文本编辑模式 2. esc 进入命令编辑模式 命令编辑状态下 dd删除整行 3. :进入底行模式 底行模式状态 输入q 退出 w保存 wq 保存并 ...
- MyBatis的增删改查操作
搭建好mybatis之后 进行对数据库的操作 添加语句 在映射文件中添加语句 insert into student(name,age,score) values(#{name},#{age},#{s ...
- python-闭包函数和装饰器
目录 闭包函数 什么是闭包? 两种为函数传参的方式 使用参数的形式 包给函数 闭包函数的应用 闭包的意义: 装饰器 无参装饰器 什么是装饰器 为什么要用装饰器 怎么用装饰器 完善装饰器 闭包函数 什么 ...
- CodeForces 703A Mishka and trip
Description Little Mishka is a great traveller and she visited many countries. After thinking about ...
- ACM Changchun 2015 J. Chip Factory
John is a manager of a CPU chip factory, the factory produces lots of chips everyday. To manage larg ...
- hdu4864不是一般的贪心
题目表达的非常清楚,也不绕弯刚开始以为最大权匹配,仔细一想不对,这题的数据双循环建图都会爆,只能先贪心试一下,但一想贪心也要双循环啊,怎么搞? 想了好久没头绪,后来经学长提醒,可以把没用到的先记录下来 ...
- BZOJ 4244: 邮戳拉力赛
转化为括号序列DP 注意边界 #include<cstdio> #include<algorithm> #define rep(i,x,y) for (int i=x; i&l ...
- curl download zip file
https://askubuntu.com/questions/285976/download-zip-file-with-curl-command
- ogre3D学习基础11 -- 交换两个场景管理器
这一节,练习一下前几次学习的内容,功能很简单,就是建立两个不同的场景管理器,当按下键盘上某个键时切换镜头. 基本框架不变,这个监听器继承了两个父类,一个是我们的老朋友ExampleFrameListe ...
- php将数组写入到文件的三种方法
php将数组原样写入或保存到文件有三种方法可以实现, 第一种方法是使用serialize, 第二种方法是使用print_r, 第三种方法是使用var_export, 本文章向大家介绍这三种方法是如何将 ...