当前位置: 首页 > news >正文

网站结构怎么分析盐山县网站建设公司

网站结构怎么分析,盐山县网站建设公司,移动公司网络维护待遇,90设计官方仔细读题#xff0c;会发现吃掉敌人点对方案数的贡献很神奇。如果走的空格相同#xff0c;而走的敌人点不同#xff0c;对答案无贡献#xff0c;而对于走的空格相同#xff0c;但一种走了敌人点#xff0c;另一种没走#xff0c;算两个方案。。。。sb出题人语文简直是和… 仔细读题会发现吃掉敌人点对方案数的贡献很神奇。如果走的空格相同而走的敌人点不同对答案无贡献而对于走的空格相同但一种走了敌人点另一种没走算两个方案。。。。sb出题人语文简直是和我学的。。。。 可见对于能相互到达的敌人点我们该缩点。也就是说我们对与这一坨敌人点相连的空格互相连上双向边。可以互相到达并把每两个互相到达的空格连上边。 然后跑spfa加一个当dis[i]dis[j]1时ans[i]ans[j]就行了。 注意边不要建多。 ans不用开ll #includecstring #includecstdlib #includecstdio #includealgorithm #includeiostream #includequeue #define ll long long using namespace std; inline int read() {int sum0;char xgetchar();while(x0||x9)xgetchar();while(x0x9){sum(sum1)(sum3)x-0;xgetchar();}return sum; } struct node{int x,y;}S,T; struct road{int v,next;}lu[10000*8]; queuenode q;queueint Q; int n,m,tot,cnt,e; int dis[55*55],v[55*55],adj[55*55],al[55*55][55*55]; int vis[55][55],a[55][55],id[55][55],hh[55][55]; ll ans[55*55]; int wz[10][2]{2,1,2,-1,-2,1,-2,-1,1,2,1,-2,-1,2,-1,-2}; inline bool check(int x,int y){if(x0||y0||xn||ym||a[x][y]2)return 0;return 1;} inline void add(int u,int v){lu[e](road){v,adj[u]};adj[u]e;} void get(node aaa) {q.push(aaa);cnt0;memset(hh,0,sizeof(hh));while(!q.empty()){node xq.front();q.pop();for(int i0;i8;i){node to;to.xx.xwz[i][0],to.yx.ywz[i][1];if(!check(to.x,to.y))continue;if(a[to.x][to.y]1!vis[to.x][to.y]){q.push(to);vis[to.x][to.y]1;}if(a[to.x][to.y]0!hh[to.x][to.y]){v[cnt]id[to.x][to.y];hh[to.x][to.y]1;}}}for(int i1;icnt;i)for(int ji1;jcnt;j)if(!al[v[i]][v[j]])add(v[i],v[j]),add(v[j],v[i]),al[v[i]][v[j]]al[v[j]][v[i]]1; } void init() {for(int i1;in;i)for(int j1;jm;j)id[i][j]tot;for(int i1;in;i)for(int j1;jm;j)if(!a[i][j])for(int k0;k8;k){int xiwz[k][0],yjwz[k][1];if(!check(x,y)||a[x][y]!0)continue;add(id[i][j],id[x][y]);//add(id[x][y],id[i][j]);}for(int i1;in;i)for(int j1;jm;j)if(a[i][j]1!vis[i][j]){vis[i][j]1;node x;x.xi,x.yj;get(x);} } bool spfa() {int vis[55*55];memset(vis,0,sizeof(vis));memset(dis,40,sizeof(dis));Q.push(id[S.x][S.y]);dis[id[S.x][S.y]]0;ans[id[S.x][S.y]]vis[id[S.x][S.y]]1;while(!Q.empty()){int xQ.front();Q.pop();vis[x]0;for(int iadj[x];i;ilu[i].next){int tolu[i].v;if(dis[to]dis[x]1){dis[to]dis[x]1;ans[to]ans[x];if(!vis[to]){vis[to]1;Q.push(to);}}else if(dis[to]dis[x]1){ans[to]ans[x];if(!vis[to]){vis[to]1;Q.push(to);}}}}return dis[id[T.x][T.y]]100000; } int main() {nread();mread();for(int i1;in;i)for(int j1;jm;j){a[i][j]read();if(a[i][j]3)S.xi,S.yj,a[i][j]0;if(a[i][j]4)T.xi,T.yj,a[i][j]0;}init();if(!spfa()){cout-1;return 0;}coutdis[id[T.x][T.y]]-1endlans[id[T.x][T.y]]; } 转载于:https://www.cnblogs.com/QTY2001/p/7632669.html
http://www.pierceye.com/news/160608/

相关文章:

  • 如何建设网站接收数据加油优惠卡app软件开发
  • 改网站js代码网络销售挣钱吗
  • 怎么通过数据库做网站的登录专业外贸网站制作公司
  • 上海网站建设上海黄金线上学编程哪个机构比较好
  • 个人网站能 做淘客吗徐州网站建设工作室
  • 网站公司备案通知百度seo文章
  • 做网站专业服务新网域名官网
  • 网站dns多久刷新广州网站建设开发
  • 标准网站有哪些西安市沣东新城建设局网站
  • 对php网站开发技术课程总结广州网站策划公司
  • 站长工具爱站微信服务商平台官网
  • 中山市网站建设公司网页设计与制作教程第4版
  • 旅游类网站开发设计报告工信部清理未备案网站
  • 永久免费自助建站源代码行业类网站模板
  • 通辽建设网站知名品牌形象设计公司
  • 做一家网站费用网站建设有关的职位
  • 网站后台无编辑器扒人家网站做网站
  • 有什么网站做打印店网站开发计划甘特图
  • 网页模板好的网站好滑县网站建设服务
  • 做网站需要学会些什么建设网银登录官方网站
  • phpcms双语网站怎么做深圳做地铁的公司网站
  • 郑州的电子商城网站建设济南网站建设大标网络
  • 网站建设前端和后端的区别网站建设未来发展
  • 深圳网站制作公司建设网站seo视频狼雨seo教程
  • 建网站做优化重庆世界500强企业
  • 手机网站建设合同拼多多网店
  • 手机网站二级域名网站开发多少钱一个
  • 车险网站模版在线表白网页制作
  • 网站建设寻找可以途径wordpress 调试php代码
  • 济南优化seo网站建设微信公众号?