Codeforces Round #496 (Div. 3) F - Berland and the Shortest Paths
2024-08-24 14:33:22
F - Berland and the Shortest Paths
思路:还是很好想的,处理出来最短路径图,然后搜k个就好啦。
#include<bits/stdc++.h>
#define LL long long
#define fi first
#define se second
#define mk make_pair
#define pii pair<int, int> using namespace std; const int N = 5e5 + ;
const int inf = 0x3f3f3f3f;
const LL INF = 0x3f3f3f3f3f3f3f3f;
const int mod = ; int n, m, k, tot, d[N], head[N], ans[N];
LL cnt;
struct node {
int u, v, nx;
} edge[N]; void add(int u, int v) {
edge[tot].u = u;
edge[tot].v = v;
edge[tot].nx = head[u];
head[u] = tot++;
} vector<int> vec[N]; void bfs() {
queue<int> que;
d[] = ;
que.push(); while(!que.empty()) {
int u = que.front(); que.pop();
for(int i = head[u]; ~i; i = edge[i].nx) {
int v = edge[i].v;
if(d[v] != -) continue;
d[v] = d[u] + ;
que.push(v);
}
}
} void dfs(int pos) {
if(cnt <= ) return;
if(pos == n + ) {
cnt--;
for(int i = ; i <= m; i++)
printf("%d", ans[i]);
puts("");
return;
}
for(int i = ; i < vec[pos].size(); i++) {
ans[vec[pos][i]] = ;
dfs(pos + );
ans[vec[pos][i]] = ;
}
}
int main(){
memset(head, -, sizeof(head));
scanf("%d%d%d", &n, &m, &k);
for(int i = ; i <= m; i++) {
int u, v; scanf("%d%d", &u, &v);
add(u, v);
add(v, u);
} memset(d, -, sizeof(d)); bfs();
for(int i = ; i < tot; i++) {
int u = edge[i].u, v = edge[i].v;
if(d[u] + == d[v]) {
vec[v].push_back(i / + );
}
} cnt = ;
for(int i = ; i <= n; i++) {
cnt *= (int) vec[i].size();
if(cnt >= k) break;
} cnt = min(cnt, 1ll * k);
printf("%lld\n", cnt);
dfs();
return ;
} /*
*/
最新文章
- DirectAccess
- CDN 技术详解(DNS,GSLB,Cache)
- Linux分区练习(1)
- 4、时间同步ntp服务的安装于配置(作为客户端的配置)
- db2 存储过程 语法 及结果集查询
- PHP 提取图片img标记中的任意属性
- 重温css系列01
- 【转】centOS上安装redis+phpredis2.2.4扩展
- wamp在win7下64位系统memcache/memcached安装教程
- 异步陷阱之IO
- 【渗透课程】特别篇-主流网站程序Oday大全以及拿shell思路
- 2013 ACM/ICPC Asia Regional Hangzhou Online hdu4739 Zhuge Liang&#39;s Mines
- Centos 6.5升级openssh漏洞
- SpringBoot中对于异常处理的提供的五种处理方式
- 基于IPV6的数据包分析(更新拓扑加入了linux主机和抓取133icmp包)(第十三组)
- AngelToken钱包——值得投资与存币的钱包
- JSP 前端的一些应用
- tcp/ip 3次握手和4次挥手
- jformdesigner 开发
- 彻底解决 intellij IDEA 卡顿 优化笔记