Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

因为ZJU数据弱

Posted by LiHaoyuan at 2004-08-12 17:50:44 on Problem 1690
In Reply To:为什么在ZJUac了,在这儿却wa了,谁能指点一下吗? Posted by:hujk2008 at 2004-08-12 12:38:39
> #include<stdio.h>
> #include<string.h>
> #define max 500
> 
> char a[max];
> int  dig[max]={0};
> 
> int kongge();
> void bt();
> void fun();
> int  str();
> void insatll();
> 
> 
> int kongge()                   //去掉空格
> {
> 	int i=0,j=0,flag=0;
> 	for(i=0;a[i]!='\0';i++)
> 	{
> 		if(a[i]==' ')
> 		{
> 				flag=1;
> 				for(j=i;a[j]!='\0';j++)
> 					a[j]=a[j+1];
> 				a[j]=a[j+1]=a[j+2]='\0';
> 		}
> 	}
> 	return flag;
> }
> 
> void bt(void)    //去掉   (a)和()的情况
> {
> 	int i;
> 	for(i=0;a[i+2]!='\0';i++)
> 	{
> 			if(a[i]=='('&&a[i+2]==')')
> 			{
> 					a[i]=a[i+2]=' ';
> 			}
> 			if(a[i]=='('&&a[i+1]==')')
> 			{
> 					a[i]=a[i+1]=' ';
> 			}
> 	}
> }
> 
> 
> 
> void fun(void)     //去掉  .(..+(a+b).).等情况
> {
> 	int i,p,flag=0,count=0;
> 	char pre='+';
> 	for(i=0;a[i]!='\0';i++)
> 	{
> 		if(a[i]=='(')
> 		{
> 			if(flag)count++;
> 			else
> 			{
> 					if(pre!='-')
> 					{
> 							flag=1;
> 							p=i;
> 					}
> 			}
> 		}
> 		if(a[i]==')')
> 		{
> 			if(flag)
> 			{
> 					if(count==0)
> 					{
> 							a[p]=a[i]=' ';
> 							break;
> 					}
> 					else
> 							count--;
> 			}
> 		}
> 		pre=a[i];
> 	}
> }
> 					
> 			
> 
> int str()             //接收字符串
> {
> 	int i=0;
> 	char temp;
> 	while((temp=getchar())!=EOF)
> 	{
> 		if(temp==' ')continue;
> 		if(temp=='\n')
> 		{
> 			a[i]='\0';
> 			return 1;
> 		}
> 		else
> 			a[i++]=temp;
> 	}
> 	return 0;
> }
> 
> void install(void)    //初始化,可以不要这个函数,为specials起见,就加了这个函数
> {
> 	int i;
> 	for(i=0;i<max;i++)
> 		a[i]='\0';
> }
> 
> int main()
> {
> 	int testnum;
> 	scanf("%d",&testnum);getchar();
> 	while(testnum--)
> 	{
> 		install();
> 		if(!str())
> 			return 1;
> 		bt();
> 		while(kongge())
> 			bt();
> 		fun();
> 		while(kongge())
> 			fun();
> 		printf("%s\n",a);
> 	}
> 	return 1;
> }
> 

Followed by:

Post your reply here:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator