news 2026/6/25 15:45:33

UVa 598 Bundling Newspapers

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
UVa 598 Bundling Newspapers

题目描述

题目要求生成给定报纸列表的所有指定大小的子集,并按字典序输出。输入给出子集大小范围(单个数字、两个数字或*表示全部),每行一个报纸名。输出按子集大小分组,每组内按字典序输出所有子集。

输入格式

第一行一个整数MMM,表示数据集个数,后面跟一个空行。每个数据集的第一行是子集大小说明(*na b)。接下来若干行报纸名,以空行结束。两个连续数据集之间由一个空行分隔。

输出格式

对于每个数据集,按子集大小分组输出。每组先输出Size X,然后每行一个子集(报纸名用逗号加空格分隔)。每组后跟一个空行。两个数据集输出间有一个空行。

样例

输入

1 2 3 Times Herald-Tribune Post New Advocate

输出

Size 2 Times, Herald-Tribune Times, Post Times, New Advocate Herald-Tribune, Post Herald-Tribune, New Advocate Post, New Advocate Size 3 Times, Herald-Tribune, Post Times, Herald-Tribune, New Advocate Times, Post, New Advocate Herald-Tribune, Post, New Advocate

题目分析

本题的核心是生成组合,并按字典序输出。

组合生成

使用回溯法生成所有大小为kkk的组合,按输入顺序依次选择,保证字典序。

输出格式

注意:每组输出后有一个空行,两个数据集输出间也有一个空行。

复杂度分析

最多C(12,6)=924C(12,6) = 924C(12,6)=924个组合,可接受。

代码实现

// Bundling Newspapers// UVa ID: 598// Verdict: Accepted// Submission Date: 2016-08-12// UVa Run Time: 0.010s//// 版权所有(C)2016,邱秋。metaphysis # yeah dot net#include<bits/stdc++.h>usingnamespacestd;intpapers[12],used[12],name_count;string names[12];voiddfs(intdepth,intlast,intn){if(depth==n){for(inti=0;i<n;i++){if(i>0)cout<<", ";cout<<names[papers[i]];}cout<<'\n';}else{for(inti=last;i<name_count-(n-1)+depth;i++){used[i]=1;papers[depth]=i;dfs(depth+1,i+1,n);used[i]=0;}}}intmain(){cin.tie(0);cout.tie(0);ios::sync_with_stdio(false);string line;getline(cin,line);intM=stoi(line);getline(cin,line);for(intcases=1;cases<=M;cases++){if(cases>1)cout<<'\n';string range;getline(cin,range);name_count=0;while(getline(cin,line),line.length()>0)names[name_count++]=line;inta,b;if(range.front()=='*')a=1,b=name_count;else{istringstreamiss(range);iss>>a;if(!(iss>>b))b=a;}for(inti=a;i<=b;i++){cout<<"Size "<<i<<'\n';memset(papers,-1,sizeof(papers));memset(used,0,sizeof(used));dfs(0,0,i);cout<<'\n';}}return0;}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/25 15:43:08

2016-2022年中国10米分辨率逐年不透水面数据集(CAIS)

&#x1f50d; 数据简介 本文分享的是 《中国多时相不透水面数据集&#xff08;China Annual Impervious Surface, CAIS&#xff09;》。该数据集由中国石油大学&#xff08;华东&#xff09;孙根云团队于 2026年1月 最新发布在对地观测科学数据中心&#xff0c;是目前国内少有…

作者头像 李华
网站建设 2026/6/25 15:41:11

软考系规备考心得:记忆才是通关根基

软考很多科目&#xff0c;不同科目有不同科目的特点&#xff0c;想要快捷通关&#xff0c;必须因地制宜才好。2026年下半年软考高级相对比较受关注的是系统规划与管理师考试。而且据我所知&#xff0c;有很多同学都是从2026年上半年软考高项转过来的。我也不知道你们为何要转过…

作者头像 李华
网站建设 2026/6/25 15:38:27

2026 年最具性价比的 AI网站搭建工具:6 款 AI 网站生成工具对比分析

大多数 AI 网站构建器对比都会犯同一个错误。它们会问&#xff1a;“哪个工具能最快生成一个网站&#xff1f;”这听起来很有用。但在 2026 年&#xff0c;这还不够。一个快速生成的网站仍然可能并不划算。它可能看起来很普通。可能很难编辑。可能无法获得排名。可能几乎没有说…

作者头像 李华
网站建设 2026/6/25 15:36:23

从系统科学到人机共生文明:钱学森构想正在变成现实

钱学森晚年不仅是一位科学家&#xff0c;更是一位思想家。他构建的现代科学技术体系&#xff0c;不仅包括自然科学&#xff0c;还涵盖了社会科学、思维科学等多个领域。他提出的不仅仅是一个科学理论&#xff0c;而是一个关于人类文明未来的完整构想。一、三个世界与三种文明钱…

作者头像 李华
网站建设 2026/6/25 15:30:38

有小伙伴问:Python的 __init__.py 该不该存在?

最近收到很多 Python 小伙伴 这样的疑惑&#xff1a;Python 3.3 支持隐式命名空间包&#xff0c;空文件夹 也能当作 包 导入&#xff0c;那 __init__.py 还有必要存在吗&#xff1f; 网上说法五花八门&#xff0c;有人说“空文件毫无意义可以删掉”&#xff0c;也有人说“项目必…

作者头像 李华