Gym 101572 D- 多源bfs- Distinctive Character
来源:互联网 发布:slack软件应用 编辑:程序博客网 时间:2024/05/21 14:00
https://vjudge.net/problem/1131041/origin
异或操作也没想到。这样算路径很方便。
改动一个dis+1
#include <iostream>#include <bits/stdc++.h>using namespace std;/* 思路是广搜,完全没有想到。 发现这道题的解空间 就在 0-pow(2,n)中。 而从很多地方一起 bfs的话,先到达的必然是最小的 (每次更新一个操作,算作距离) 并且这是多源 bfs,是从很多点bfs。 最后得到的结果肯定是 最长的。*/queue<int>q;char a[300];int dis[(1<<21)];int main(){ int m,n;memset(dis,-1,sizeof(dis)); scanf("%d%d",&m,&n); for(int i=0;i<m;i++){ scanf(" %s",a); int num=0; for(int j=0;j<n;j++){ if(a[j]=='1') num|=(1<<j); } //cout<<num<<endl; q.push(num); dis[num]=0; } int rel; while(!q.empty()){ int u=q.front(); q.pop(); for(int i=0;i<n;i++){ int ans=u^(1<<i); if(dis[ans]!=-1) continue; dis[ans]=dis[u]+1; rel=ans; q.push(rel); } } //cout<<rel<<endl; for(int i=0;i<n;i++){ if(i==0){ if((rel&(1<<i))) printf("1"); else printf("0"); } else{ if((rel&(1<<i))) printf("1"); else printf("0"); } } printf("\n"); return 0;}`这里写代码片`
阅读全文
0 0
- Gym 101572 D- 多源bfs- Distinctive Character
- Gym 101572D Distinctive Character【思维+Bfs】
- Gym 101572 DDistinctive Character [bfs+想法]
- Distinctive Character
- Gym 100796D Journey(BFS)
- Gym 101572E Emptying Baltic【优先队列+BFS】
- CodeForces Gym 100735D
- 100642D GYM
- Gym 101617D dp
- Gym - 100685F Flood BFS
- codeforces-gym-100187-E【bfs】
- Gym 100513D - Data Center
- Gym 100231D Balloons 贪心
- Gym 100531 D Digits 【暴力】
- Gym 101028J 100541D
- Gym 101102D 单调栈
- Gym-100502D Dice Game
- codeforces GYM 101431D(构造)
- Struts2入门--第一个例子
- JavaScript——块级作用域?
- mybatis的批量操作
- 人工智障学习笔记——机器学习(7)FM/FFM
- 关于tomcat 中的 tomcat-users.xml 配置不生效原因
- Gym 101572 D- 多源bfs- Distinctive Character
- 面挂脸书之后怎么办?
- @Controller和@RestController的区别?
- NOIP2017解题报告
- tomcat+redis实现session共享配置之路 支持Tomcat 8
- 点击弹出 listview
- 一些关于代码优化的踩坑经历
- Zuul的基本应用,反向代理和负载均衡
- FCN网络的训练——以SIFT-Flow 数据集为例