dfs 如果最后的值等于最大值(不可能超过1e7)的话就认为是无限的
否则除4就是最大的值


//cyc
#pragma GCC optimize("Ofast")
#pragma GCC target("avx,avx2,fma")
#pragma GCC optimization ("unroll-loops")
#include<bits/stdc++.h>
#define rep(i,a,n) for(int i=a;i<=n;i++)
#define per(i,a,n) for(int i=n;i>=a;i--)
#define pb push_back
#define mp make_pair
#define fi first
#define se second
#define mst(a) memset(a,0,sizeof a)using namespace std;
typedef pair<int,int> pii;
string s1[1005];
int dp[1005][1005];
int vis[1005][1005];
int n,m;
const int inf=1e7;
int mvs[4][2]={{1,0},{-1,0},{0,1},{0,-1}};
char nextc(char c)
{if(c=='D')return 'I';if(c=='I')return 'M';if(c=='M')return 'A';if(c=='A')return 'D';
}
int dfs(int x,int y)
{int cur=0;if(dp[x][y])return dp[x][y];dp[x][y]=inf;int xx,yy;for(int i=0;i<=3;i++){xx=x+mvs[i][0];yy=y+mvs[i][1];char temp;temp=s1[x][y];temp=nextc(temp);// cout<<temp<<endl;if(xx<0||xx>=n||yy<0||yy>=m)continue;if(temp!=s1[xx][yy])continue;cur=max(cur,dfs(xx,yy));}return dp[x][y]=min(cur+1,inf);
}
int main()
{ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);cin>>n>>m;for(int i=0;i<n;i++)cin>>s1[i];int ans=0;for(int i=0;i<n;i++){for(int j=0;j<m;j++){if(s1[i][j]=='D'){//  cout<<i<<" "<<j<<endl;ans=max(ans,dfs(i,j));}}}// cout<<ans<<endl;ans/=4;if(ans==inf/4){cout<<"Poor Inna!"<<endl;}else if(!ans)cout<<"Poor Dima!"<<endl;else cout<<ans<<endl;
}

374C. Inna and Dima相关推荐

  1. [codeforces366C]Dima and Salad

    time limit per test : 1 second memory limit per test : 256 megabytes Dima, Inna and Seryozha have ga ...

  2. Codeforces Round #220 (Div. 2)

    A. Inna and Pink Pony 题意:给出如下参数,          n, m, i, j, a, b (1 ≤ n, m ≤ 106; 1 ≤ i ≤ n; 1 ≤ j ≤ m; 1  ...

  3. Codeforces #208 div2前两题及思维风暴

    昨晚原本准备在宿舍打cf的,结果吵吵闹闹的,也没打成,头也晕晕的,当时看了只看了第一个题,越想越麻烦,最后竟然陷入了误区,半小时也没解,虽然注册了,一发也没交... A. Dima and Conti ...

  4. Codeforces2000分左右DP泛刷

    乱七八糟的DP题随便刷刷 文章目录 CF148E - Porcelain CF1131D - Gourmet choice CF629C - Famil Door and Brackets CF895 ...

  5. CF 400 div2

    从昨天周赛开始,要耍CF了~ 开始还害怕个人赛自己数论压根不会怎么办,发现CF全是乱搞的题orz 但是就算是乱搞的也不能1A  T^T 犯的错误基本上都是没有把情况归类导致要么是情况想少了,要么是细节 ...

  6. Codeforces 358 D. Dima and Hares

    dp[i][0]表示i号兔子先于i-1号兔子喂食,dp[i][1]反过来. 倒着DP D. Dima and Hares time limit per test 2 seconds memory li ...

  7. CodeForces 390E Inna and Large Sweet Matrix(树状数组改段求段)

    CodeForces 390E Inna and Large Sweet Matrix(树状数组改段求段) 树状数组仅仅能实现线段树区间改动和区间查询的功能,能够取代不须要lazy tag的线段树.且 ...

  8. codeforces 374A Inna and Pink Pony 解题报告

    题目链接:http://codeforces.com/problemset/problem/374/A 题目意思:给出一个 n 行  m 列 的棋盘,要将放置在坐标点为(i, j)的 candy 移动 ...

  9. Codeforces Round #167 (Div. 1) C. Dima and Horses(BFS+贪心)

    题目大意 有 n(1≤n≤3*105) 匹马,每条马都有几个敌人(不超过 3 个),现在要求把这些马分成两部分(允许一部分中没有一条马),使得对于每条马,和它在同一部分中的敌人的数量不超过1个 给出了 ...

  10. codeforce 272B Dima and Sequence

    B. Dima and Sequence Dima got into number sequences. Now he's got sequence a1, a2, ..., an, consisti ...

最新文章

  1. java接口的定义及使用细节
  2. linux sed后 保存文本,实例详解linux文本三剑客--sed
  3. java.lang.ClassNotFoundException: com.sun.xml.ws.spi.ProviderImpl解决办法
  4. kindeditor java上传_富文本编辑器kindeditor上传图片的配置方法
  5. 注解(Annotation)自定义注解入门(转)
  6. 解决安卓的permission denied for this window type问题
  7. 大牛手把手教你用树莓派玩红警OPENRA
  8. 计算机视觉入门大全:基础概念、运行原理、应用案例详解
  9. 红帆参加HiMSS 2010(2010亚太区卫生信息大会)
  10. [Loj 6070][回文树+可持久化线段树+border理论]基因
  11. kotlin协程+retrofit简单取消接口回调
  12. 关于logarithmicDepthBuffer属性
  13. Java实现elastic中服务接口性能指标统计(接口QPS、接口99响应时间等)并存入表
  14. 离散数学(1)---集合论
  15. C#三十五 三层架构企业应用
  16. 企业微信+esaywechat 扫码授权登录
  17. 设计模式之禅——策略模式(Strategy Pattern)
  18. java中如何实现qq登录与微博登录,如何从零开始对接第三方登录(Java版):QQ登录和微博登录(2)...
  19. 无字母数字webshell总结
  20. DIV布局——爱影评在线电影(10页面) HTML+CSS+JavaScript 学生DW网页设计作业成品 web课程设计网页规划与设计 计算机毕设网页设计源码

热门文章

  1. mysql密码expired_mysql密码过期的修改方法(your password has expired)
  2. LDC 1.14.0 发布,高性能 dlang 编译器
  3. 【C#】EAN-13条形码生成与识别
  4. java 项目的部署方案
  5. Python验证哥德巴赫猜想,并返回数组
  6. 用RCircos包来画圈圈图
  7. android pm 列出权限,Android pm命令
  8. 2019.2.18 模板的创建和自定义子模板文件(single.php 等)
  9. 利用Arthas进行简单的故障注入
  10. Kali安装beef-xss