FZU 1055 赋值问题【】

来源:互联网 发布:桌面快速启动软件 编辑:程序博客网 时间:2024/06/03 19:11

赋值问题
Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u
Submit Status Practice FZU 1055

Description

在很多程序设计语言中,忘记给变量赋初值的错误常令人头疼。请编程求出含N(0≤N≤100)行的程序段运行以后有哪些变量中有确定的值。 在下面的问题中,最开始仅有变量a中有确定的值。变量为单个小写字母,每行恰好有三个字符,中间一个是赋值运算符'='。

Input

输入有多组数据,每组数据的第一行有一个整数N,表示程序段的行数。以下N行,每行3个字符,为一条语句。最后一组数据N=-1表示输入结束,不需要处理。

Output

对每一组数据输出一行结果,按字母表顺序给出所有有确定值的变量名。如果没有变量有确定的值,输出none。

Sample Input

4b=ac=dd=be=f-1

Sample Output

a b d


如果第一个是a=b,那么a也就变成不确定变量


#include<iostream>#include<cstdio>#include<cmath>#include<cstring>#include<climits>#include<string>#include<queue>#include<iostream>#include<cstdio>#include<cmath>#include<cstring>#include<climits>#include<string>#include<queue>#include<stack>#include<set>#include<map>#include<algorithm>using namespace std;#define rep(i,j,k)for(i=j;i<k;i++)#define per(i,j,k)for(i=j;i>k;i--)#define MS(x,y)memset(x,y,sizeof(x))#define max(a,b) a>b?a:b#define min(a,b) a<b?a:b#define lson l,m,rt<<1#define rson m+1,r,rt<<1|1typedef long long LL;const int INF=0x7ffffff;#define lson rt<<1, l, m#define rson rt<<1|1, m+1, rconst int M=600000;int i,j,k,n,m;int flag[M];char s[M];int main(){    while(~scanf("%d",&n))   {       if(n==-1)break;       MS(flag,0);       flag[0]=1;       while(n--){         scanf("%s",s);         if(flag[s[2]-'a'])            flag[s[0]-'a']=1;         else  flag[s[0]-'a']=0;       }       int k=0,num=0;       for(i=0;i<50;i++){         if(!k&&flag[i]){printf("%c",i+'a');k++;num++;}         else{           if(flag[i]){            printf(" %c",i+'a');            num++;           }         }       }       if(!num)printf("none");       printf("\n");    }    return 0;}


0 0