http://vjudge.net/contest/view.action?cid=51327#problem/D

Description

Yoda: May the Force be with you.
Master Yoda is the oldest member of the Jedi Council. He conducts preparatory classes of little Younglings up to the moment they get a mentor. All Younglings adore master Yoda and they hope to grow as strong and wise as he is. Just like all little children, Younglings are absolutely hooked on new games and ideas. Now they decided to learn to speak just like master Yoda. Help the Younglings understand how Yoda would say this or that sentence.
Yoda is speaking the Galactic language using the specific word order — so-called "object-subject-verb".
Your program receives a sentence that interests the Younglings. They have already highlighted all important parts in the sentence. They use the curly {}-brackets for objects, round ()-brackets for subjects and square []-brackets for verbs.
A sentence in the input can be simple or complex. If the sentence is complex, then it consists of two simple sentences separated by a comma. Sometimes a comma is followed by a conjunction that is not in the brackets.
Each simple question has exactly one object, one subject and one verb. Your task is to simply put them in the correct order. Namely, first the object, then the subject, finally the verb. Also, please do not forget that only the first word in the whole sentence should begin with capital letter.

Input

The single line contains a sentence that interests the Younglings. The length of the sentence does not exceed 100 characters. All the words in the sentence consist of Latin letters. The first letter of the first word is capitalized and the rest are small. The sentence may contain a comma. Each simple sentence contains all three types of brackets. Each pair of brackets surrounds one or more words. No pair of brackets can surround the other bracket. Brackets are always located on the borders of words. The words in the sentence are separated by a single space. There is no space character before a comma or a closing bracket and also after an opening bracket. The conjunction (which can be only after a comma) is the only word that is not surrounded by a pair of brackets.

Output

Print the sentence with the word order Yoda would use. All brackets must be omitted. You should separate the words by a single space.

Sample Input

input
(We) [are] {blind}, if (we) [could not see] {creation of this clone army}
output
Blind we are, if creation of this clone army we could not see
input
{Truly wonderful} (the mind of a child) [is]
output
Truly wonderful the mind of a child is
#include <iostream>
#include <cstring>
#include <cstdio> using namespace std; char str[];
char ob[],sub[],veb[];
int o,sb,ve;
int i,j;
int len,star; int main()
{
while(gets(str))
{
star=;
o=sb=ve=;
len=strlen(str);
for(i=;i<len;i++)
{
if(str[i]=='(')
{
i++;
while(i<len&&str[i]!=')')
{
sub[sb++]=str[i++];
}
} else if(str[i]=='{')
{
i++;
while(i<len&&str[i]!='}')
{
ob[o++]=str[i++];
}
}
else if(str[i]=='[')
{
i++;
while(i<len&&str[i]!=']')
{
veb[ve++]=str[i++];
}
}
else
{
if(str[i]==',')
{
for(j=;j<o;j++)
{
if(star)
{
if(ob[]>='a'&&ob[]<='z')
{
putchar(ob[]-);
}
else putchar(ob[]);
star=;
continue;
}
putchar(ob[j]);
}
putchar(' ');
o=;
for(j=;j<sb;j++)
{
if(j==&&sub[]<='Z'&&sub[]>='A')
putchar(sub[j]+);
else putchar(sub[j]);
}
putchar(' ');
sb=;
for(j=;j<ve;j++)
{
if(j==&&veb[]<='Z'&&veb[]>='A')
putchar(veb[j]+);
else putchar(veb[j]);
}
ve=;
putchar(',');
i++;
while(str[i]!='{'&&str[i]!='('&&str[i]!='[')
{
if(i<len){
putchar(str[i]);
i++;
}
else
{
break;
}
}
i--;
}
}
}
if(o||sb||ve)
{
for(j=;j<o;j++)
{
if(star)
{
if(ob[]>='a'&&ob[]<='z')
{
putchar(ob[]-);
}
else putchar(ob[]);
star=;
continue;
}
putchar(ob[j]);
}
putchar(' ');
for(j=;j<sb;j++)
{
if(j==&&sub[]<='Z'&&sub[]>='A')
putchar(sub[j]+);
else putchar(sub[j]);
}
putchar(' ');
for(j=;j<ve;j++)
{
if(j==&&veb[]<='Z'&&veb[]>='A')
putchar(veb[j]+);
else putchar(veb[j]);
}
}
putchar('\n');
}
return ;
}

putchar();  字符输出  与cout没有其他差别

eg:putchar('a'-32)==A

cout<<'a'-32<<endl;  ==65

The Great Pan

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)
Total Submission(s): 1003    Accepted Submission(s): 352

Problem Description
As a programming contest addict, Waybl is always happy to take part
in various competitive programming contests. One day, he was competing
at a regional contest of Inventing Crappy Problems Contest(ICPC). He
tried really hard to solve a "geometry" task without success.

After the contest, he found that the problem statement is ambiguous! He
immediately complained to jury. But problem setter, the Great Pan, told
him "There are only four possibilities, why don't you just try all of
them and get Accepted?".

Waybl was really shocked. It is the
first time he learned that enumerating problem statement is as useful as
trying to solve some ternary search problem by enumerating a subset of
possible angle!

Three years later, while chatting with Ceybl,
Waybl was told that some problem "setters" (yeah, other than the Great
Pan) could even change the whole problem 30 minutes before the contest
end! He was again shocked.

Now, for a given problem statement, Waybl wants to know how many ways there are to understand it.

A problem statement contains only newlines and printable ASCII
characters (32 ≤ their ASCII code ≤ 127) except '{', '}', '|' and '$'.

Waybl has already marked all ambiguity in the following two formats:

1.{A|B|C|D|...} indicates this part could be understand as A or B or C or D or ....
2.$blah blah$ indicates this part is printed in proportional fonts,
it is impossible to determine how many space characters there are.

Note that A, B, C, D won't be duplicate, but could be empty. (indicate evil problem setters addedclarified it later.)

Also note that N consecutive spaces lead to N+1 different ways of understanding, not 2N ways.

It is impossible to escape from "$$" and "{}" markups even with
newlines. There won't be nested markups, i.e. something like "${A|B}$"
or "{$A$|B}" or "{{A|B}|C}" is prohibited. All markups will be properly
matched.

 
Input
Input contains several test cases, please process till EOF.
For each test case, the first line contains an integer n, indicating
the line count of this statement. Next n lines is the problem statement.
1 ≤ n ≤ 1000, size of the input file will not exceed 1024KB.
 
Output
For each test case print the number of ways to understand this statement, or "doge" if your answer is more than 105.
 
Sample Input
9
I'll shoot the magic arrow several
times on the ground, and of course
the arrow will leave some holes
on the ground. When you connect
three holes with three line segments,
you may get a triangle.
{|It is hole! Common sense!|
No Response, Read Problem
Statement|don't you know what a triangle is?}
1
Case $1: = >$
5
$/*This is my code printed in
proportional font, isn't it cool?*/
printf("Definitely it is cooooooool \
%d\n",4 * 4 * 4 * 4 * 4 * 4 * 4 * 4 * 4
* 4 * 4 * 4 * 4 * 4 * 4 * 4 * 4 * 4);$
2
$Two space$ and {blue|
red} color!
 
Sample Output
4
4
doge
6
 
 
#include<iostream>
#include<iomanip>
#include<cstdio>
#include<cstring> using namespace std;
#define LL long long char str1[];
char str[]; int main()
{
int n;
while(scanf("%d",&n) != EOF)
{
memset(str,'/0',sizeof(str));
LL ans = ;
LL tans=;
int len = ;
getchar();
for(int i = ; i <= n; i ++)
{
gets(str1);
int len1 = strlen(str1);
for(int j = ; j < len1 ; j++)
str[j+len] = str1[j];
len = len + len1;
} int is = ;
int t = ;
int ok = ; for(int i = ; i < len ; i ++)
{
if(ok == )
break;
if(is)
{
if(str[i] == ' ')
{
t++;
if(str[i+] != ' ')
{
tans *=(t+);
t = ;
}
}
else if(str[i] == '$')
{
is = ;
ans = tans * ans;
tans = ;
}
if(tans > )
{
ok = ;
}
}
else
{
if(str[i] == '{')
{
int t = ;
int j ;
for(j = i +; ; j ++)
{
if(str[j] == '}')
break;
if(str[j] == '|')
t ++ ;
}
i = j;
ans *= t ;
if(ans > )
{
ok = ;
}
}
else
{
if(str[i] == '$')
is = ;
}
}
}
if(ok )
printf("doge\n");
else
printf("%I64d\n",ans);
}
return ;
}

走上模拟道路 HDU4891的更多相关文章

  1. 是什么让我走上Java之路?

    选择方向,很多人都为根据自己的兴趣爱好和自己的能力所长而作出选择.那么是什么让我走上Java之路? 整个高三我有两门课程没有听过课,一门是数学,一门是物理.当时候物理没有听课的原因很简单,我有一本&l ...

  2. Windows上模拟Linux环境的软件Cygwin

    Windows上模拟Linux环境的软件Cygwin 2010-10-11 15:19      我要评论(0) 字号:T|T Cygwin是一个用于在Windows上 模拟Linux环境的软件.它可 ...

  3. 【文学文娱】《屌丝逆袭》-出任CEO、迎娶白富美、走上人生巅峰

    本文地址:http://www.cnblogs.com/aiweixiao/p/7759790.html 原文地址:(微信公众号) 原创 2017-10-30 微信号wozhuzaisi 程序员的文娱 ...

  4. delphi 在桌面屏幕上模拟鼠标单击

    delphi 在桌面屏幕上模拟鼠标单击 procedure TFrmUnicom.Button1Click(Sender: TObject); var oldPoint, newPoint: TPoi ...

  5. 数据库最佳实践:DBA小马如何走上升值加薪之路?

    DBA可能是互联网公司里面熬夜最多,背锅最多的岗位之一,腾讯云数据库团队的同学结合自身的成长经历,用漫画的形式为我们分享了一位DBA是如何从菜鸟成长为大神,走上升职加薪,迎娶白富美之路的. 此文已由作 ...

  6. 神户制钢坑了500家企业 百年老店为何走上邪路?(企业经营再艰难,也不能降低产品质量,甚至偷工减料,同样适用于IT行业)

    神户制钢这颗烂萝卜,拔出它之后带出的泥越来越多.上周五社长川崎博也又开了记者会,再次道歉,而受到其数据造假影响的客户数量也从200家飙升到500家. 日本政府给神户制钢两周时间调查,还要在一个月内公布 ...

  7. PUToast - 使用PopupWindow在Presentation上模拟Toast

    PUToast Android10 (API 29) 之前 Toast 组件默认只能展示在主 Display 上,PUToast 通过构造一个 PopupWindoww 在 Presentation ...

  8. 运用Mono.Ceci类库修改.NET程序集 走上破解软件的道路

    代码注入在C++时代很流行,主要是对现有的程序做一些修改,以达到预期的目的.一部分的破解程序,注册机也是借助于此方法,让被注入的程序绕过验证,达到破解的目录.在.NET中,借助于Mono.Cecil程 ...

  9. python 之走坑的道路

    ### python之 继续走函数的坑 上篇文章简单介绍了函数的一些简单的使用,这次继续踩函数的坑1.函数对象 函数其实也可以当做一个参数传给另一个函数,也可以使用赋值的方式来给另一个,而且这两个的内 ...

随机推荐

  1. MyBatis Generator中文文档

    MyBatis Generator中文文档 MyBatis Generator中文文档地址: http://mbg.cndocs.tk/ 该中文文档由于尽可能和原文内容一致,所以有些地方如果不熟悉,看 ...

  2. POJ 3621Sightseeing Cows 0/1 分数规划

    Description 作为对奶牛们辛勤工作的回报,Farmer John决定带她们去附近的大城市玩一天.旅行的前夜,奶牛们在兴奋地 讨论如何最好地享受这难得的闲暇. 很幸运地,奶牛们找到了一张详细的 ...

  3. QT学习之路(1):彩票绝对不中模拟器

    //============================================//绝对不中,彩票开奖模拟器#include "mainwindow.h"#includ ...

  4. 爬虫初窥day2:正则

    正则在线测试 http://tool.oschina.net/regex https://www.regexpal.com/ http://tool.chinaz.com/regex exp1:筛选所 ...

  5. 【jdbcTemplate】baseDao书写规范

    今天加班,为了下个月的北京之行,希望父亲身体安康,一切顺利: 老大今天发出来同事的代码,并标记了jdbcTemplate的书写规范,此处查询数据库之前声明对象时,不用new出来,因为在底层源码中已经给 ...

  6. mysql完装成功后的提示。

    To start mysqld at boot time you have to copysupport-files/mysql.server to the right place for your ...

  7. 查询数据库中的表格---通过构造方法将数据存入到List集合中---遍历进行输出

    package cn.jy.demo; import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.Res ...

  8. java 中jar的使用

    ????????????这里不会 需要学习

  9. 【转】C#异步的世界【上】

    [转]C#异步的世界[上] 新进阶的程序员可能对async.await用得比较多,却对之前的异步了解甚少.本人就是此类,因此打算回顾学习下异步的进化史. 本文主要是回顾async异步模式之前的异步,下 ...

  10. Prism-超轻量的开源框架

    http://msdn.microsoft.com/en-us/library/ff648465.aspx prism 是微软模式与实践小组开发的一个进行MVVM模式开发,其中使用依赖注入等一些方法将 ...