唐纳德先生与 .DOC

题目链接:https://acm.ecnu.edu.cn/contest/126/problem/D/

单测试点时限: 6.0 秒

内存限制: 1024 MB

去年夏天的时候,唐纳德先生就注意到学校饮水机上挂了一个新的牌子:天热冷水需求量大。当时他还不以为意,这不过是一个普通的牌子。于是,天冷了。有一天他注意到牌子上面新增了一个交换的记号。原来,现在牌子要改成「天冷热水需求量大」了,但由于新的标语和旧的标语唯一的区别就是相邻的两个汉字交换了,所以维护人员为了省事儿,就直接在上面做了个记号。

唐纳德先生觉得这件事情很有趣,在自然语言中,交换相邻的两个字符或是单词,产生的句子在语法上仍然说得通这一现象其实并不少见。例如:

唐纳德最近发现交换相邻的单词不一定影响语法上的正确性。

交换「唐纳德」和「最近」,可以变成:

最近唐纳德发现交换相邻的单词不一定影响语法上的正确性。

这句话不仅在语法上合法,在语义上也是等价的。还有在语义上不等价的交换,在语法上也是合法的。例如交换「一定」和「不」:

最近唐纳德发现交换相邻的单词一定不影响语法上的正确性。

为了研究这一问题,唐纳德先生找了大量的语言材料,来分析交换相邻单词对语法合法性的影响。由于一般的自然语言处理常常需要用到大量高深的知识,唐纳德先生选取的语言材料来自一种名为 .DOC 的语言。这种语言的语法具有非常严苛的规则,可以用下面的上下文无关文法表示(其中 s 为开始符号,小写字母都是非终结符):

s ::= d 'O' c
d ::= 'D' | '.' s
c ::= 'C' | '.' s

现在给出一句合法的句子,要求对于所有可能的相邻字母的交换确认交换后的句子的合法性。

如果读到这里你已经知道怎么做这道题了,你可以跳过剩下的题目描述,直接跳到输入格式。但我还是想再啰嗦几句,以防你完全不知道上下文无关文法是什么。

简单的来说,.DOC 语言只有一种句子结构,就是经典的主谓宾结构。D 表示主语,O 表示谓语,C 表示宾语。例如 DOC 就是一句合法的句子。该语言允许使用主语从句和宾语从句。主语从句以 . 开头,后面是一句合法的句子;宾语从句也是以 . 开头,后面是一句合法的句子。例如 DO.DOC 的宾语是 .DOC;例如 ..DOCOCOC 也是合法的。对于一句句子,如果你可以用上面所提到的语法规则来解释,那么它就是合法的。

输入

输入第一行是一个整数 t (1≤t≤10^5),表示数据组数。

随后有 t 行,每行一个由 .DOC 组成的字符串 s (3≤|s|≤10^6)。保证这是一句合法的句子。

输入保证所有数据的长度之和不超过 106。

输出

对于每组数据,输出一个长度为 |s|−1 的字符串。字符串的第 i (1≤i≤|s|−1) 个字符表示交换字符串的第 i 个字符和第 i+1 个字符后,字符串是否依然合法。如果合法,该位置填 C (Correct);如果非法,该位置填 D (Doomed)。

样例

input

3
DOC
DO.DOC
..DOCOCOC

output

DD
DDDDD
CDDDDDDD

一开始看到这道题直接懵了,这是什么鬼,怎么看不懂。后来发现过的人越来越多,表明这是道水题,然后耐着性子分析了一下,真的水,只要判断相邻的是不是两个点,是,输出C;不是,输出D

首先题目保证所给句子是合法的,合法情况下相邻的有这些情况:.D    O.    DO     OC      CO(这个C是主语从句里的)    ..

可见,除了..交换位置句子依旧合法之外,其他的都不合法

#include<cstdio>
#include<cstring>
using namespace std;
char s[1000005];
bool judge(int x,int y){if(s[x]=='.'&&s[y]=='.') return true;else return false;
}
int main(){int T;scanf("%d",&T);while(T--){scanf("%s",s+1);int l=strlen(s+1);for(int i=1;i<l;i++){if(judge(i,i+1)) printf("C");else printf("D");}printf("\n");}return 0;
}

唐纳德先生与 .DOC相关推荐

  1. EOJ 3674.唐纳德先生与 .DOC

    单测试点时限: 6.0 秒 内存限制: 1024 MB 去年夏天的时候,唐纳德先生就注意到学校饮水机上挂了一个新的牌子:天热冷水需求量大.当时他还不以为意,这不过是一个普通的牌子.于是,天冷了.有一天 ...

  2. 大学计算机excel函数课件,大学计算机一级excel函数归类.doc

    大学计算机一级excel函数归类.doc (3页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 19.90 积分 12在01工作表中,合并A15:B15, ...

  3. 福建省2013高职单招计算机类试题,13年福建-高职单招-计算机类试题及答案.doc

    计算机类专业基础知识试题 第Ⅰ卷 单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确的字母标号填涂在答题卡相应在位置上,每小题3分,共120分) 世界上第一台计算机(ENIAC)诞生的时 ...

  4. c语言进制转换pdf下载,C语言实现任意进制转换.doc

    C语言实现任意进制转换.doc includestdio.h#includemath.h#includestring.hvoid dtox(double num,int jz)char xnum100 ...

  5. c语言程序设计试题及答案十,C语言程序设计试题试题及答案.doc

    <C语言程序设计试题试题及答案.doc>由会员分享,可在线阅读,更多相关<C语言程序设计试题试题及答案.doc(49页珍藏版)>请在装配图网上搜索. 1.C ,C+(120)1 ...

  6. doc python 颜色_Python wordcloud.ImageColorGenerator方法代码示例

    本文整理汇总了Python中wordcloud.ImageColorGenerator方法的典型用法代码示例.如果您正苦于以下问题:Python wordcloud.ImageColorGenerat ...

  7. c语言课程设计的摘要,投票程序设计-C语言课程设计摘要.doc

    投票程序设计-C语言课程设计摘要.doc C 语 言 课 程 设 计 题 目: <7>投票程序 设 计 者: 专 业: 班级学号: 所属院系:机电学院 指导教师: 2010年7月17日 1 ...

  8. 第一代电子计算机诞生的国家是( ),计算机基础知识习题.doc

    计算机基础知识习题.doc (2页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.90 积分 计算机基础知识题计算机的诞生:第一台电子计算机是1946 ...

  9. 江苏开放大学计算机应用基础第四次作业,江苏开放大学-计算机应用基础第四次.doc...

    文档介绍: 江苏开放大学形成性考核作业学号68姓名张婷婷课程代码:课程名称:计算机应用基础(专)评阅教师:第4次任务共5次任务作业说明:1.做作业之前首先在封面填上自己的学号和姓名,做完作业后请写上作 ...

最新文章

  1. JDBC连接mysql数据的7个步骤(讲解+源码)
  2. 使用Python+OpenCV实现图像数据采集
  3. win7删除桌面文件需要刷新才会消失(2种解决方法)
  4. 趣话题:底层码农的心酸,那么我们 如何避免成为底层码农呢?
  5. Java错别字检查_java中关于异常的处理
  6. 一个配件、一块面料,制造企业流水线因为AI变了新模样(人工智能应用案例)
  7. 广州计算机操作员培训,汕尾市计算机操作员报名考试时间地址及培训入口
  8. vr的延迟和渲染效率优化与Nvidia VRWorks
  9. Java Web中界面之间传值的实现方法
  10. ZPCategory
  11. 读书笔记2014第12本:《创新者的窘境》
  12. HFSS印刷偶极子天线(2)
  13. 《基于卷积神经网络(CNN)的网络流量分类》优秀本科毕设实验总结
  14. python引流脚本开发工具_Python脚本 抖X自动关注粉丝引流脚本
  15. pg_repack --no-order 某个表的过程分析
  16. 国开《Android智能手机编程》终结性考核
  17. 姓名+身份证号+人脸动态实名认证(百度)
  18. 基于Caret和RandomForest包进行随机森林分析的一般步骤 (1)
  19. Android 辅助功能服务AccessibilityService
  20. SYN6288中文语音合成 程序

热门文章

  1. 中小商业银行主动安全纵深防御体系解决方案
  2. 【子桓说】从阿里、百度分析,教你判断一家企业是否适合自己
  3. mysql中depart_mysql实训
  4. Oracle基础练习02
  5. SQL获取当前年第一天日期 MYSQL获取当前年第一天
  6. 神经网络概念解释和特点,神经网络概念解释大全
  7. 基于Python的SQLite基础知识学习
  8. 获取搜狗音乐的真实路径方法
  9. L3-031 千手观音 - java
  10. RHCE——实施高级存储功能(CSA)