置换的玩笑(搜索)(中等)(计蒜之道 测试赛 c)
来源:互联网 发布:空间大师软件效果图 编辑:程序博客网 时间:2024/05/18 02:24
题目:
小蒜头又调皮了。这一次,姐姐的实验报告惨遭毒手。姐姐的实验报告上原本记录着从 1 到 n 的序列,任意两个数字间用空格间隔。但是“坑姐”的蒜头居然把数字间的空格都给删掉了,整个数字序列变成一个长度为 1 到 100 的且首部没有空格的数字串。
现在姐姐已经怒了,蒜头找你写个程序快点把试验数据复原。
输入:
输入文件有一行,为一个字符串——被蒜头搞乱的实验数据。字符串的长度在 1 到 100 之间。
输出:
输出共一行,为姐姐的原始测试数据—— 1 到 n 的输出。任意两个数据之间有一个空格。
思路:
字符串的长度为l;则共有(l-9)/2+9个数,从1到(l-9)/2+9;用dfs遍历每一种情况。输出合适的结果。
代码:
#include <iostream>#include<cstdio>#include<cstring>using namespace std;int s,l;bool has[2000];int visit[1000];char a[111];bool flag=false;void dfs(int k){ if(flag) return; if(k>=l) { for(int i=0; i<l; i++) { printf("%c",a[i]); if(visit[i]&&i!=l-1) { printf(" "); } } flag=true; return ; } int i=k; if(!has[a[i]-'0']&&(a[i]-'0')<=s&&(i+1>=l||a[i+1]!='0')) { visit[i]=1; has[a[i]-'0']=1; dfs(i+1); has[a[i]-'0']=0; visit[i]=0; } if(!has[(a[i]-'0')*10+a[i+1]-'0']&&((a[i]-'0')*10+a[i+1]-'0')<=s&&(i+2>=l||a[i+2]!='0')) { visit[i+1]=1; has[(a[i]-'0')*10+a[i+1]-'0']=1; dfs(i+2); has[(a[i]-'0')*10+a[i+1]-'0']=0; visit[i+1]=0; }}int main(){ memset(visit,0,sizeof(visit)); memset(has,0,sizeof(has)); scanf("%s",a); l=strlen(a); if(l<=9) { for(int i=0; i<l-1; i++) { printf("%c ",a[i]); } printf("%c\n",a[l-1]); return 0; } s=(l-9)/2+9; dfs(0); return 0;}
0 0
- 置换的玩笑(搜索)(中等)(计蒜之道 测试赛 c)
- C、置换的玩笑-------(计蒜之道 测试赛)
- 计算之道 (置换的玩笑)搜索
- 计算之道(置换的玩笑)
- 置换的玩笑
- 计蒜客-置换的玩笑
- 计蒜客-2017 计蒜之道 初赛 第六场-C-微软大楼设计方案(中等)
- 2016 计蒜之道 初赛 第一场 青云的机房组网方案(中等)
- 2016 计蒜之道 初赛 第三场 百度帐号的选取方案(中等) KMP
- 计蒜之道 青云的机房组网方案(中等)
- 计蒜之道 2017 初赛 UCloud 的安全秘钥(中等)
- 解题报告:置换的玩笑
- 计蒜之道 测试赛 (BCD)
- 计蒜之道 测试赛
- 2017 计蒜之道初赛第5场 UCloud 的安全秘钥(中等)【思维】
- 计蒜客 置换的玩笑(深搜)
- 2017 计蒜之道 初赛 第六场 微软大楼设计方案(中等)【思维+RMQ】
- 2017 计蒜之道 初赛 第六场 微软大楼设计方案(中等)
- UML用例图总结
- Kafka设计解析(二):Kafka High Availability (上)
- SAP成本核算相关金额流转凭证
- js中splice()
- 支持连接池和结果集缓存的MySQL数据库JDBC通用框架的轻量级封装(一)——粗略实现
- 置换的玩笑(搜索)(中等)(计蒜之道 测试赛 c)
- 开源大数据查询分析引擎现状
- PP 关于工单领料的总结
- Android开发经验谈-很少有人会告诉你的Android开发基本常识
- Kafka设计解析(三):Kafka High Availability (下)
- MM中如何更改物料的评估类
- Android NDK安装配置
- VC6 在使用VC助手(Visual AssistX)在Win7下不能使用↑↓←→及回车键选择的解决办法
- Multiprocessing vs Threading Python