URAL 1993 This cheeseburger you don't need
2013-11-30 20:22
381 查看
http://acm.timus.ru/problem.aspx?space=1&num=1993
题意:题目中那么多英语直接就没看,看了样例知道是什么意思了,就是给你一个字符串,算是一个句子,若是复杂句,是有“ ,”作为分割为两个句子的,若是不加任何括号的就原样输出,若是有括号的先输出花括号里的,再输出中括号里的,再输出小括号里的,每一句话只有第一个字母大写。
思路 :模拟题吧,一向挺烦的,万一哪个细节没注意到就容易出错。
View Code
题意:题目中那么多英语直接就没看,看了样例知道是什么意思了,就是给你一个字符串,算是一个句子,若是复杂句,是有“ ,”作为分割为两个句子的,若是不加任何括号的就原样输出,若是有括号的先输出花括号里的,再输出中括号里的,再输出小括号里的,每一句话只有第一个字母大写。
思路 :模拟题吧,一向挺烦的,万一哪个细节没注意到就容易出错。
#include<cstdio> #include<cstring> #define maxn 1000 using namespace std; char s[maxn],s1[maxn]; int a[maxn],b[maxn]; int main() { while(gets(s)) { int m,t; int k=strlen(s); bool flag=false; for(int i=0; i<k; i++) { if(s[i]=='{'||s[i]=='('||s[i]=='[') { s[i+1]+=32; break; } } for(int i=0; i<k; i++) { if(s[i]==',') { flag=true; m=i; break; } } if(!flag) { for(int i=0; i<k; i++) { if(s[i]=='{') a[1]=i; else if(s[i]=='(') a[2]=i; else if(s[i]=='[') a[3]=i; else if(s[i]=='}') b[1]=i; else if(s[i]==')') b[2]=i; else if(s[i]==']') b[3]=i; } t=1; while(t<=3) { for(int j=a[t]+1; j<b[t]; j++) { if(t==1&&j==a[t]+1) printf("%c",s[j]-32); else printf("%c",s[j]); } if(t!=3) printf(" "); t++; } printf("\n"); } else if(flag) { for(int i=0; i<m; i++) { if(s[i]=='{') a[1]=i; else if(s[i]=='(') a[2]=i; else if(s[i]=='[') a[3]=i; else if(s[i]=='}') b[1]=i; else if(s[i]==')') b[2]=i; else if(s[i]==']') b[3]=i; } t=1; while(t<=3) { for(int j=a[t]+1; j<b[t]; j++) { if(t==1&&(j==a[t]+1)) printf("%c",s[j]-32); else printf("%c",s[j]); } if(t!=3) printf(" "); t++; } int cc; for(int j=m; j<k; j++) { if(s[j]=='{'||s[j]=='('||s[j]=='[') { cc=j; break; } else printf("%c",s[j]); } for(int i=cc; i<k; i++) { if(s[i]=='{') a[1]=i; else if(s[i]=='(') a[2]=i; else if(s[i]=='[') a[3]=i; else if(s[i]=='}') b[1]=i; else if(s[i]==')') b[2]=i; else if(s[i]==']') b[3]=i; } t=1; while(t<=3) { for(int j=a[t]+1; j<b[t]; j++) { printf("%c",s[j]); } if(t!=3) printf(" "); t++; } printf("\n"); } } return 0; }
View Code
相关文章推荐
- 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 (模拟)
- ural 1993 This cheeseburger you don't need
- URAL1993-This cheeseburger you don't need
- URAL 1993 This cheeseburger you don't need
- URAL 1009 K-based Numbers
- URAL 1022 Genealogical Tree
- URAL 1039 Anniversary Party
- URAL 1042 Central Heating
- URAL 1306. Sequence Median(优先队列)
- URAL 1181 Cutting a Painted Polygon(解题报告)
- 算法艺术与信息学竞赛习题1.2.6——离散数学(ural1010 )
- Ural 1750. Pakhom and the Gully
- [代码]ural 1655 Somali Pirates
- ural 1613. For Fans of Statistics
- hdu 3068 and ural 1297
- URAL - 1022 - Genealogical Tree(拓扑排序)
- ural 1018 Binary Apple Tree(树dp)