fjnu 1422 赋值问题
来源:互联网 发布:致知是什么意思 编辑:程序博客网 时间:2024/05/15 15:33
Description
在很多程序设计语言中,忘记给变量赋初值的错误常令人头疼。
在下面的问题中,最开始仅有变量a中有确定的值。变量为单个小写字母,
每行恰好有三个字符,中间一个是赋值运算符'='。
请编程求出含N行的程序段运行以后有哪些变量中有确定的值。
Input
第一行:M 表示有M组测试数据,每组测试数据第一行包含N(0<N<=10^6)
以下N行,每行3个字符,为一条语句
Output
如果没有,输出none否则在一行中按字母表顺序给出所有有确定值的变量名。
字母之间用一个空格隔开。
Sample Input
14b=ac=dd=be=f
Sample Output
a b d
KEY:注意那个a有可能被其他未赋值的变量给赋值了,那就成了未知变量;开个数组来标志;
Source:#include<iostream>
#include<algorithm>
using namespace std;
struct node
...{
char c;
int flag;
};
class List
...{
node elem[26];
public:
List()
...{
int i;
for(i=1;i<=26;i++)
...{
elem[i].c='a'+i-1;
elem[i].flag=0;
}
elem[1].flag=1;
}
int find(char x);
void insert(char A,char B);
void output();
};
int List::find(char x)
...{
if(elem[x-96].flag==1) return 1;
else return 0;
}
void List::insert(char A,char B)
...{
if(find(A)&&find(B)) return ;
if(find(A)&&!find(B))
...{
elem[A-96].flag=0;
return ;
}
if(!find(A)&&find(B))
...{
elem[A-96].flag=1;
return ;
}
if(!find(A)&&!find(B)) return ;
}
void List::output()
...{
int t=0;
int i;
for(i=1;i<=26;i++)
if(elem[i].flag==1) t++;
if(t==0)
...{
cout<<"none"<<endl;
return ;
}
for(i=1,t=t-1;i<=26&&t;i++,t--)
if(elem[i].flag==1) cout<<elem[i].c<<" ";
for(;i<=26;i++)
if(elem[i].flag==1) cout<<elem[i].c<<endl;
}
int p,q;
int main()
...{
// freopen("fjnu_1422.in","r",stdin);
int T,N;
char A,op,B;
cin>>T;
for(p=1;p<=T;p++)
...{
cin>>N;
List L;
for(q=1;q<=N;q++)
...{
cin>>A>>op>>B;
L.insert(A,B);
}
L.output();
}
return 0;
}
- fjnu 1422 赋值问题
- fjnu 1160 洗牌问题
- fjnu 1305 核电站问题
- fjnu 1342 等式问题
- fjnu最大区间问题
- fjnu 1767 相等元素问题
- fjnu 1302 全排序问题
- fjnu 1354 小鼠迷宫问题
- fjnu 1355 半数集问题
- fjnu 1362 收集样本问题
- fjnu 1424 四塔问题
- FJNU
- fjnu 1403 高精度整数去位去最小问题
- fjnu 1358 排列的字典序问题
- fjnu 1459 整数最优分解问题
- 赋值问题
- 赋值问题
- 赋值问题
- fjnu 1007 Ride to School
- 重温:冒泡算法
- javascript class 创建
- fjnu 1957 There's Treasure Everywhere!
- vdsp4.5(bf561)中的CPLB
- fjnu 1422 赋值问题
- strlen函数与多字节编码的字符串字节长度
- fjnu 1827 Palindrom Numbers
- fjnu 1900 DNA Sorting
- fjnu 1189 Recurrence Relations
- 关于默认构造函数的几个错误认识
- lcc 源码读书笔记之c语言的语义检测
- Visual Basic 基础要点
- fjnu 1655 Crazy tea party