E 黑白大陆

#include<iostream>
#include<cstring>
#include<algorithm>
#include<cmath>
#include<queue>
#include<cstring>
#include<sstream>
using namespace std;
typedef pair<int,int>PII;
const int N=2510,M=70000;
int d[60][60];
bool st[60][60];
int n,m;
int num[60][60];
int idx=1;
int dx[4]={-1,0,1,0};
int dy[4]={0,1,0,-1};
int mp[N][N];
bool flag[N];
int dist[N][N];
int se[N];
bool st1[N];
//邻接表
int idx1;
int e[M],ne[M],w[M],h[N];
void add(int a,int b,int c)
{e[idx1]=b,w[idx1]=c,ne[idx1]=h[a],h[a]=idx1++;
}void bfs(int x,int y,int u)
{memset(st,0,sizeof st);queue<PII>que;que.push({x,y});num[x][y]=u;if(d[x][y]==0)se[u]=0;elsese[u]=1;st[x][y]=1;while(que.size()){PII t=que.front();que.pop();for(int i=0;i<4;i++){int x1=t.first+dx[i],y1=t.second+dy[i];if(!st[x1][y1]&&x1>=1&&x1<=n&&y1>=1&&y1<=m&&d[x1][y1]==d[t.first][t.second]){que.push({x1,y1});st[x1][y1]=1;num[x1][y1]=u;}}}
}void bfs1(int x,int y)
{memset(st,0,sizeof st);queue<PII>que;que.push({x,y});st[x][y]=1;while(que.size()){PII t=que.front();que.pop();for(int i=0;i<4;i++){int x1=t.first+dx[i],y1=t.second+dy[i];if(!st[x1][y1]&&x1>=1&&x1<=n&&y1>=1&&y1<=m){if(d[x1][y1]==d[t.first][t.second])que.push({x1,y1});else{int t1=num[t.first][t.second];int t2=num[x1][y1];if(mp[t1][t2])continue;mp[t1][t2]=1;mp[t2][t1]=1;add(t1,t2,1);add(t2,t1,1);// cout<<t1<<' '<<t2<<' '<<1<<endl;}st[x1][y1]=1;}}}
}
int spfa(int x,int mp[])
{memset(mp,0x3f,4*N);memset(st1,0,sizeof st1);mp[x]=0;queue<int>que;que.push(x);while(que.size()){int t=que.front();que.pop();st1[t]=0;for(int i=h[t];~i;i=ne[i]){int j=e[i];if(mp[j]>mp[t]+w[i]){mp[j]=mp[t]+w[i];if(!st1[j]){que.push(j);st1[j]=1;}}}}
}int main()
{memset(h,-1,sizeof h);memset(d,0x3f,sizeof d);scanf("%d%d",&n,&m);for(int i=1;i<=n;i++)for(int j=1;j<=m;j++)scanf("%d",&d[i][j]);for(int i=1;i<=n;i++)for(int j=1;j<=m;j++)if(!num[i][j])bfs(i,j,idx++);for(int i=1;i<=n;i++)for(int j=1;j<=m;j++)if(!flag[num[i][j]]){flag[num[i][j]]=1;bfs1(i,j);}int ans=0x3f3f3f3f;for(int i=1;i<idx;i++){spfa(i,mp[i]);}for(int i=1;i<idx;i++){int sun=0;for(int j=1;j<idx;j++){if(mp[i][j]>sun){sun=mp[i][j];if(se[i]==se[j]&&se[i]==1)sun++;}}ans=min(ans,sun);}if(se[1]==1&&idx==2){cout<<1;return 0;}cout<<ans<<endl;
return 0;
}

2022ccpc记录相关推荐

  1. 2022CCPC桂林站 记录

    第一场ccpc也是最后一场ccpc,最后4题rank100,铜. 也是队伍里第一支开打比赛的吧,对不起校队里的大家,没能开个好头,没能给学校争光,非常抱歉. 训练时候预期是稳银的,vp了20年和21年 ...

  2. 2022CCPC江苏省赛题解ACIJKL

    2022CCPC江苏省赛题解ACIJKL A. PENTA KILL! 题意 称一个人连续杀了五个不同的人为五杀.给定 n ( 1 ≤ n ≤ 1000 ) n\ \ (1\leq n\leq 100 ...

  3. 2022CCPC威海:A、C、E、G、I、J

    2022CCPC威海:A.C.E.G.I.J 目前这5题让我觉着,威海这场思路倒不是多难,但是代码我觉着很难写,比如c和j. Problem - A - Codeforces 问题解析 题目很怪,看了 ...

  4. mysql建立联合索引,mysql建立唯一键,mysql如何解决重复记录联合索引

    在项目中,常常要用到联合唯一   在一些配置表中,一些列的组合成为一条记录.   比如,在游戏中,游戏的分区和用户id会形成一条记录.(比如,一个qq用户可以在艾欧尼亚.德玛西亚创建两个账号) 添加联 ...

  5. 实现 连续15签到记录_MySQL和Redis实现用户签到,你喜欢怎么实现?

    现在的网站和app开发中,签到是一个很常见的功能 如微博签到送积分,签到排行榜 微博签到 如移动app ,签到送流量等活动, 移动app签到 用户签到是提高用户粘性的有效手段,用的好能事半功倍! 下面 ...

  6. 记录一次http请求失败的问题分析

    问题背景 当前我有一个基于Flask编写的Restful服务,由于业务的需求,我需要将该服务打包成docker 镜像进行离线部署,原始服务的端口是在6661端口进行开启,为了区分,在docker中启动 ...

  7. Pytorch学习记录-torchtext和Pytorch的实例( 使用神经网络训练Seq2Seq代码)

    Pytorch学习记录-torchtext和Pytorch的实例1 0. PyTorch Seq2Seq项目介绍 1. 使用神经网络训练Seq2Seq 1.1 简介,对论文中公式的解读 1.2 数据预 ...

  8. LeetCode简单题之学生出勤记录 I

    题目 给你一个字符串 s 表示一个学生的出勤记录,其中的每个字符用来标记当天的出勤情况(缺勤.迟到.到场).记录中只含下面三种字符: 'A':Absent,缺勤 'L':Late,迟到 'P':Pre ...

  9. 关于TVM的点滴记录

    关于TVM的点滴记录

最新文章

  1. NCBI中SRA数据库简介
  2. infinity mysql_MySql锁机制
  3. SpringMVC之拦截器和异常处理
  4. centos 卸载ffmpeg_Linux下ffmpeg的完整安装
  5. 【C语言】数据结构C语言版 实验4 栈与字符串
  6. linux基础(Vi编辑器)
  7. windows2003密码忘记了该如何处理
  8. C++面试题整理,希望对大家有所帮助
  9. [hadoop读书笔记] 第五章 MapReduce工作机制
  10. Python 蓝牙通信模块pybluez Win7
  11. idea中代码统计工具Statistic的配置与使用
  12. matlab积分器的工作原理,Simulink积分器详解(图)
  13. 联想硬盘保护系统 计算机名 后缀,联想硬盘保护7.07.6安装及计算机名相同的解决方法...
  14. 因式分解理论基础(1)一元多项式
  15. vue router 嵌套、父子、多个路由跳转传值获取不到参数undefined
  16. 10047.GNU Make 使用手册中译版(转)
  17. 与matlab里面 imadjust 函数相同的python代码
  18. “b数”(B树)是个怎么回事
  19. 寄存器总结之通用寄存器
  20. jbpm学习笔记(九) task活动之泳道的概念

热门文章

  1. 抖音微博等短视频千万级高可用、高并发架构如何设计?
  2. 德州仪器EDI对接案例
  3. msp432快速入门第八节之oled显示
  4. 华为HCIE-RS(数通)论述题(二)
  5. 十、uni-app小程序时间戳
  6. html2canvas 生成图片 以及出现白边问题解决办法 生成海报
  7. http://jingyan.baidu.com/article/3065b3b6cc20f6becef8a44f.html
  8. 10分钟训练属于你的AI变声器
  9. 小赢理财招聘 测试开发、专项
  10. Dancing Links算法(舞蹈链)