URAL1993-This cheeseburger you don't need
2017-04-11 20:06
351 查看
1993. This cheeseburger you don't need
Time limit: 1.0 secondMemory limit: 64 MB
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 letterof 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.Samples
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 <cstdio> #include <cstring> #include <string> #include <cmath> #include <set> #include <map> #include <algorithm> #include <vector> #include <stack> #include <queue> using namespace std; const int INF=0x3f3f3f3f; #define LL long long struct node { char ch[105]; int id; friend bool operator <(node a,node b) { return a.id>b.id; } }; char s[200]; char s1[200]; int main() { while(gets(s)) { int len=strlen(s); s[len]=','; s[++len]='\0'; int k=0,i=0; priority_queue<node>q; node pre; int flag=0; while(i<len) { if(s[i]=='(') { i++; while(s[i]!=')') { if(s[i]>='A'&&s[i]<='Z') s1[k++]=s[i]-'A'+'a'; else s1[k++]=s[i]; i++; } s1[k++]='\0'; k=0; strcpy(pre.ch,s1); pre.id=2; q.push(pre); } else if(s[i]=='{') { i++; while(s[i]!='}') { if(s[i]>='A'&&s[i]<='Z') s1[k++]=s[i]-'A'+'a'; else s1[k++]=s[i]; i++; } s1[k++]='\0'; k=0; strcpy(pre.ch,s1); pre.id=1; q.push(pre); } else if(s[i]=='[') { i++; while(s[i]!=']') { if(s[i]>='A'&&s[i]<='Z') s1[k++]=s[i]-'A'+'a'; else s1[k++]=s[i]; i++; } s1[k++]='\0'; k=0; strcpy(pre.ch,s1); pre.id=3; q.push(pre); } else if((s[i]>='A'&&s[i]<='Z')||(s[i]>='a'&&s[i]<='z')) { while(s[i]!=' ') { if(s[i]>='A'&&s[i]<='Z') s1[k++]=s[i]-'A'+'a'; else s1[k++]=s[i]; i++; } s1[k++]='\0'; k=0; strcpy(pre.ch,s1); pre.id=0; q.push(pre); } else if(s[i]==',') { if(flag) printf(","); while(!q.empty()) { pre=q.top(); q.pop(); if(flag) printf(" %s",pre.ch); else { flag=1; pre.ch[0]=pre.ch[0]-'a'+'A'; printf("%s",pre.ch); } } } i++; } printf("\n"); } return 0; }
相关文章推荐
- Ural 1993 This cheeseburger you don't need
- URAL 1993-This cheeseburger you don't need (模拟)
- ural 1993 This cheeseburger you don't need
- URAL 1993 This cheeseburger you don't need
- UVA 1993 This cheeseburger you don't need
- 多校联合训练赛 第三场D - This cheeseburger you don't need
- This cheeseburger you don't need
- ACM ICPC 2013-2014 D. This cheeseburger you don’t need(水~)
- You need to use a Theme.AppCompat theme (or descendant) with this activity.
- apache 403错误 You don’t have permission to access on this server.
- wampserver出现You don&#39;t have permission to access / on this server.
- You need to use a Theme.AppCompat theme (or descendant) with this activity解决方法
- You need to use a Theme.AppCompat theme (or descendant) with this activity.
- Android Studio中报错 You need to use a Theme.AppCompat theme (or descendant) with this activity
- mysqladmin: Can't turn off logging; error: 'Access denied; you need the SUPER privilege for this op
- wamp中访问http出现You don’t have permission to access/on this server提示
- You Don't Need jQuery
- Android问题一:You need to use a Theme.AppCompat theme (or descendant) with this activity.
- java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this a
- Do you need book? or not this book?