zoukankan      html  css  js  c++  java
  • CodeForces 37E Trial for Chief

    rainbowcat的题解,然后AK爷按这个写挂了(AK爷怎么可能写挂,肯定是题解的问题)
    cf的毒瘤数据卡了lyd的说法,一个全是W的图。

    那么我们应该让最后求得时候

    if(c[i][j]=='B') ans=max(ans,dis[(i-1)*m+j]+1);
    else ans=max(ans,dis[(i-1)*m+j]);
    

    这样就输出(min(ans))即可AC

    #include <iostream>
    #include <cstdio>
    #include <queue>
    #include <vector>
    #include <cstring>
    using namespace std;
    const int dx[4]= {0,0,1,-1},dy[4]= {1,-1,0,0};
    int n,m,ans=0x3f3f3f3f,dis[55*55];
    bool vis[55*55];
    char c[55][55];
    vector<int>G[55*55],V[55*55];
    queue<int>q;
    int spfa(int x) {
    	memset(dis,0x3f,sizeof dis);
    	memset(vis,0,sizeof vis);
    	dis[x]=0;
    	q.push(x);
    	vis[x]=1;
    	while(!q.empty()) {
    		int u=q.front();
    		q.pop();
    		vis[u]=0;
    		for(int i=0; i<G[u].size(); i++) {
    			if(dis[G[u][i]]>dis[u]+V[u][i]) {
    				dis[G[u][i]]=dis[u]+V[u][i];
    				if(!vis[G[u][i]]) vis[G[u][i]]=1,q.push(G[u][i]);
    			}
    		}
    	}
    	int ans=0;
    	for(int i=1; i<=n; i++)
    		for(int j=1; j<=m; j++)
    			if(c[i][j]=='B') ans=max(ans,dis[(i-1)*m+j]+1);
    			else ans=max(ans,dis[(i-1)*m+j]);
    	return ans;
    }
    int main() {
    	cin>>n>>m;
    	for(int i=1; i<=n; i++)
    		for(int j=1; j<=m; j++)
    			cin>>c[i][j];
    	for(int i=1; i<=n; i++) {
    		for(int j=1; j<=m; j++) {
    			for(int k=0; k<4; k++) {
    				int nx=dx[k]+i,ny=dy[k]+j;
    				if(nx>0&&nx<=n&&ny>0&&ny<=m) {
    					if(c[i][j]==c[nx][ny])
    						G[(i-1)*m+j].push_back((nx-1)*m+ny),V[(i-1)*m+j].push_back(0);
    					else G[(i-1)*m+j].push_back((nx-1)*m+ny),V[(i-1)*m+j].push_back(1);
    				}
    			}
    		}
    	}
    	for(int i=1; i<=n; i++) {
    		for(int j=1; j<=m; j++) {
    			ans=min(ans,spfa((i-1)*m+j));
    		}
    	}
    	cout<<ans;
    }
    
    我是咸鱼。转载博客请征得博主同意Orz
  • 相关阅读:
    web开发的性能准则(减少页面加载时间方面)
    HTTP
    HTTP -- 缓存
    新的博客地址
    mongodb 的命令操作(转)
    低调的css3属性font-size-adjust
    HTML5对表单的约束验证
    clientHeight , scrollHeight , offsetHeight之间的区别及兼容方案
    关于word-break和word-wrap的使用和区别
    MongoDB
  • 原文地址:https://www.cnblogs.com/sdfzhsz/p/9275954.html
Copyright © 2011-2022 走看看