Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
Re:第一次贴自己的代码~~~写了3天,在19次错误后终于A过去了...还是自己的技术渣啊...In Reply To:第一次贴自己的代码~~~写了3天,在19次错误后终于A过去了...还是自己的技术渣啊... Posted by:lianai911 at 2013-12-04 20:48:49 > # include<stdio.h> > # include<string.h> > # include<stdlib.h> > char wff[210]; > int stack[210]; > int caller(char c,int w,int x) > { > switch(c) > { > case'K': > return w & x; > case'A': > return w | x; > case'C': > return !w | x; > case'E': > return w == x; > } > } > > int getv(char c,int p,int q,int r,int s,int t) > { > switch (c) > { > case 'p': > return p; > case 'q': > return q; > case 'r': > return r; > case 's': > return s; > case 't': > return t; > } > } > > > int main() > { > // freopen("input.txt","r",stdin); > // freopen("output.txt","w",stdout); > > int i,len,top,state; > int p,q,r,s,t; > memset(wff,0,sizeof(wff)); > memset(stack,0,sizeof(stack)); > while(scanf("%s",wff) && wff[0]!='0') > { > len = strlen(wff); > > state = 1; > for(p=0;p<=1;p++) > { > for(q=0;q<=1;q++) > { > for(r=0;r<=1;r++) > { > for(s=0;s<=1;s++) > { > for(t=0;t<=1;t++) > { > top = 1; > memset(stack,0,sizeof(stack)); > > for(i=len-1;i>=0;i--) > { > if(wff[i]>='p' && wff[i]<='t') > stack[top++] = getv(wff[i],p,q,r,s,t); > else if(wff[i]=='K'|| wff[i]=='A'|| wff[i]=='C'|| wff[i]=='E') > { > > stack[top-2] = caller(wff[i],stack[top-1],stack[top-2]); > top--; > } > else if(wff[i]=='N') > { > stack[top-1] = (1 - stack[top-1]); > } > } > > if(!stack[top-1]) > { > state = 0; > break; > } > } > > } > } > } > } > > if(state==1) > printf("tautology\n"); > else > printf("not\n"); > > memset(wff,0,sizeof(wff)); > > } > return 0; > } Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator