Eliminate Witches!【2011年北京赛区正赛赛题-2】
/* sample input 3 walpurgis(charlotte(patricia,gertrud),elly,gisela) wuzetian nanoha(fate(hayate)) */ /* DFS 把树的字符串 1 a(b(c,d),e,f) 进行深度优先搜索 当前房间编号i 遇到'('则i-》i+1 遇到','则i-》pre_i pre_i-》i+1 遇到')'则i-》pre_i 如果pre_i!=1 pre_i-》pre_i' pre_i'-》pre_i+1*/ #include <stdio.h> #include <string.h>int T;//T<=20 char str[1000002];//Madoka's log <=1000000chars char Witches[50001][11];//at most 50000 rooms int sum_witches,str_i,str_len,name_i,cur_i;//当前结点编号 int pre_i[50001];//父结点编号 int pass[100002][2];//路线 int pass_i; int main() {char ch;int t,i;scanf("%d",&T);while (T--){memset(pass,0,sizeof(pass)); pass_i=0;memset(Witches,0,sizeof(Witches));sum_witches=1;name_i=0;memset(pre_i,0,sizeof(pre_i));cur_i=1;pre_i[cur_i]=-1;memset(str,0,sizeof(str)); str_i=0;scanf("%s",str);str_len=strlen(str); while (str_i<str_len){ch=str[str_i++];switch(ch){case '(':sum_witches++;name_i=0;pre_i[sum_witches]=cur_i;pass[pass_i][0]=cur_i;pass[pass_i][1]=sum_witches;pass_i++;cur_i=sum_witches;break;case ',':t = pre_i[cur_i];pass[pass_i][0]=cur_i;pass[pass_i][1]=t;pass_i++;cur_i=t;sum_witches++;name_i=0;pre_i[sum_witches]=cur_i;pass[pass_i][0]=cur_i;pass[pass_i][1]=sum_witches;pass_i++;cur_i=sum_witches;break;case ')':t=pre_i[cur_i];pass[pass_i][0]=cur_i;pass[pass_i][1]=t;pass_i++;cur_i=t;break;default:Witches[sum_witches][name_i++]=ch;if(str[str_i]>'z' || str[str_i]<'a')Witches[sum_witches][name_i]='\0';break;}}printf("%d\n",sum_witches);for (i=1;i<sum_witches+1;i++) printf("%s\n",Witches[i]);for (i=0;i<pass_i;i++) printf("%d %d\n",pass[i][0],pass[i][1]);printf("\n");}return 1; }
转载于:https://www.cnblogs.com/CheeseZH/archive/2012/04/11/2442144.html
Eliminate Witches!【2011年北京赛区正赛赛题-2】相关推荐
- 2014 ACM/ICPC 北京赛区网络赛解题报告汇总
首页 算法竞赛» 信息聚合 ONLINE JUDGE 书刊杂志 BLOG» 新闻故事» 招聘信息» 投稿须知 2014 ACM/ICPC 北京赛区网络赛解题报告汇总 九月 21st, 2014 | P ...
- 2018 ACM/ICPC 北京赛区网络赛 D 80 Days 线段树
http://hihocoder.com/problemset/problem/1831?sid=1390457 描述 80 Days is an interesting game based on ...
- 2011 ICM 美国数据建模赛题
2019独角兽企业重金招聘Python工程师标准>>> ICM 电动车的普及是否实际可行? 这有一些可供考虑的问题,但是,当然还有更多,你的模型不可能考虑到所有的问题: 电动车的普及 ...
- 北京赛区总结,以及。。。
上次合肥看错题.这次北京推不出前缀和二项式....还是太弱了呢.感觉一年里收获的也不是特别多.很多算法和自己的代码能力需要进一步提高....感觉还是被队友带飞了呢.然后.... 北京赛区的水题BFS, ...
- 2018 ACM-ICPC亚洲区域赛 北京赛区
2018 ACM-ICPC亚洲区域赛 北京赛区 A - Jin Yong's Wukong Ranking List HihoCoder - 1870 题意 给N对关系,每对关系表示为A 比B 厉害, ...
- 全球地区资料json 含中英文 经纬度_2020年Brain Bee北京、天津、河北赛区地区赛参赛说明...
本赛事信息转自微信公众号"ICP留学字典" 就在刚刚,Brain Bee官网正式公布了2020年Brain Bee脑科学大赛的参赛说明,新的赛季正式开始,报名已启动. 在今年,IC ...
- ACM-ICPC国际大学生程序设计竞赛北京赛区(2017)网络赛 A. Visiting Peking University
ACM-ICPC国际大学生程序设计竞赛北京赛区(2017)网络赛 A. Visiting Peking University 题意,一个人去北京旅游,计划待m天,但是其中有一些天交通管制,不能出去,到 ...
- 2011 ACM/ICPC 福州赛区网络赛解题报告
第一次写网络赛的题解,福州赛区网络赛作为我第一年ACM最后一次网络赛酱油,画了一个很像逗号的句号.....好吧,还得为北京现场赛准备啊准备....... 这次酱油打的很犀利,貌似出第一题很快,之后节奏 ...
- icpc 北京赛区总结
day1:第一天早早的去体育馆等候开幕式,热身赛的题目都是前几年北京的原题,因为我们队训练的时候已经把北京赛区前几年的题都做过了(本想靠着热身赛找下状态,因为也好几天没有做题了,可能这个也埋下了伏笔) ...
最新文章
- Dropout 的前世与今生
- 《Adobe InDesign CS6中文版经典教程》—第1课1.8节练习
- 小白 初步识别读取距离
- 神策数据受邀参加“两区”建设签约仪式
- 给asterisk写app供CLI调用
- confluence正常安装网页报错_NAS折腾手记1:在OMV5上安装ZFS On Linux的正确步骤
- “约见”面试官系列之常见面试题之第五十五篇之清除浮动的方法(建议收藏)
- 支付宝支付php代码示例,Laravel使用支付宝进行支付的示例代码
- php项目如何导jdbc包,JDBC-idea导入mysql连接java的jar包(mac)的方法
- u盘 连接服务器系统软件,u盘服务器系统
- Spring中使用Quartz之MethodInvokingJobDetailFactoryBean配置任务
- 2021年高考成绩查询梧州市,2021年梧州高考状元是谁分数多少分,历年梧州高考状元名单...
- Java中String类型,int类型,double类型相互转换
- Matlab曲线平滑
- Warship+NPOI导入导出组件介绍【对象化】
- 什么是Meta分析?Meta分析是什么意思?以6篇高质量文献为例,吃透Meta分析基本概念
- win10升级2004失败?
- 怎样使用ADO.NET连接数据库
- vue element 下拉框内容过长显示...鼠标悬浮显示全部
- 学数据结构,是不是一定要先学离散数学
热门文章
- 天翼云centos7.5系统挂载磁盘
- 3台机器配置hadoop集群_Hadoop学习之路(三)Hadoop集群搭建和简单应用
- 2.4操作系统之死锁详解(预防、避免、检测、解除)+思维导图
- 部署虚拟服务器,把网站部署到虚拟服务器
- xp系统图标大全_XP、Win7一键清理(批处理)小程序只有2.7KB大小
- C#语法:委托与方法
- php可以独立运行,【判断题】PHP不能独立运行,只能和Apache服务器一同使用( )。...
- mysql复制文件迁移后看不到表_mysql 直接拷贝data 目录下文件 进行数据库迁移时遇到的一些问题??...
- oracle中join另一个表后会查询不出一些数据_阿里规定超过3张表,禁止JOIN,为何?
- Arduino--0.91寸OLED液晶屏