1690 (Your)((Term)((Project))) 解题报告
2009-02-11 18:12
337 查看
发现自己近来都被水题卡住,而且还很喜欢为它们写报告。。。没办法,谁叫自己菜呢。。。
Memory: 284K | Time: 0MS | |
Language: G++ | Faults:8 was |
#include<stdio.h> #include<memory.h> #include<string.h> char s[2600]; bool get[2600]; int time,p; char c; int findback(int x) { int top(1); for(int j = x+1; j < p; j++) if(s[j]=='(') top++; else if(s[j]==')') { top--; if(!top) return j; } return 0; } char front(int x) { for(int i = x-1; i >= 0; i--) if(get[i]) return s[i]; } int main() { char data[10000]; scanf("%d",&time); gets(data); while(time--) { memset(get,true,sizeof(get)); p = 1; s[0]='+'; gets(data); //读入部分 for(int i = 0; i < strlen(data);i++) if(data[i]!=' ') s[p++] = data[i]; s[p]='/0'; for(int i = 1; i < p; i++){ if(s[i]=='('){ int tmp = findback(i); //写front函数为了应付这种情况: //A-(((B-C)-D)) 如果用s[i-1]=='-'不行 if(front(i)!='-'){ get[i]=false; get[tmp]=false; } else { if(((s[i+1]=='(')&&(findback(i+1)== (tmp-1))) || ((i+1)==(tmp-1))) get[i]=get[tmp]=false; } } if(get[i]) printf("%c",s[i]); } printf("/n"); } return 0; }
相关文章推荐
- POJ 1690 (Your)((Term)((Project))) 笔记
- poj 1690 (Your)((Term)((Project)))
- ZOJ 1423 POJ 1690 (Your)((Term)((Project)))
- POJ 1690 - (Your)((Term)((Project)))
- ZOJ 1423 (Your)((Term)((Project))) (POJ 1690) (模拟)
- pku 1690 (Your)((Term)((Project))) (模拟题)
- POJ 1690 (Your)((Term)((Project)))
- POJ 1690 (Your)((Term)((Project)))
- poj 模拟 - 1690 (Your)((Term)((Project)))
- POJ--1690 (Your)((Term)((Project)))(字符串处理)
- POJ 1690 (Your)((Term)((Project)))
- POJ--1690 (Your)((Term)((Project)))(字符串处理)
- ZOJ 1423 (Your)((Term)((Project))) (POJ 1690)
- POJ1690 (Your)((Term)((Project)))
- poj 1690 (Your)((Term)((Project)))
- Hdu 1084 What Is Your Grade?解题报告
- USACO 1.1 Your ride is here 解题报告
- 杭电 1712 ACboy needs your help 解题报告
- CodeVS1690 开关灯 解题报告【数据结构】【线段树】
- 【ACM解题报告】Find Your Present 2