SWUST 167

简介: 赋值了吗?   Time Limit: 1000MS Memory Limit: 65535KB Submissions: 161 Accepted: 43   Description 现在很多的程序设计语言中,赋值已经是一个不容忽视的问题,如果一个变量在未进行赋值的情况下使用,那么这个值将是不定的(哈哈,我已经被遭了好多次了)!而我写的程序用到的变量实在是太多了,又不想自己统计哪些变量是已经赋值了的,现在就请你帮我统计一下哪些变量已经赋值了。

赋值了吗?

 

Time Limit: 1000MS Memory Limit: 65535KB
Submissions: 161 Accepted: 43

 

Description

现在很多的程序设计语言中,赋值已经是一个不容忽视的问题,如果一个变量在未进行赋值的情况下使用,那么这个值将是不定的(哈哈,我已经被遭了好多次了)!而我写的程序用到的变量实在是太多了,又不想自己统计哪些变量是已经赋值了的,现在就请你帮我统计一下哪些变量已经赋值了。为了简化问题,我们假设最开始仅有变量a中有确定的值。变量为单个小写字母,每行恰好有三个字符,中间一个是赋值运算符'='。请编程求出含N行的程序段运行以后有哪些变量中有确定的值。并且该赋值表达式的出现顺序也即是其在程序中的相对顺序。

Input

T(1<= T <= 27) 表示测试实例个数 N (0 < N ≤ 100) 表示赋值表达式的个数 以下N行中,每行3个字符,为一条语句

Output

在一行中按字母表顺序给出所有有确定值的变量名,中间以一个空格隔开。 如果没有变量被赋值,则输出“none”。

Sample Input

3
1
a=a
2
b=c
c=d
4
b=a
c=d
d=b
e=f

Sample Output

a
none
a b d
 1 #include <iostream>
 2 #include <string>
 3 #include <cstring>
 4 #include <map>
 5 using namespace std;
 6 
 7 int main()
 8 {
 9      int i,j,k,T;
10      map <char,bool > mm;
11      char str[5]={'\0'};
12      cin>>T;
13      while(T--)
14      {
15           int num;
16           cin>>num;
17           //mm.clear();
18           mm.erase(mm.begin(),mm.end());
19           memset(str,0,sizeof(str));
20           mm['a'] = 1;
21           bool flag = 0;
22           for(i=1;i<=num;i++)
23           {
24                cin>>str;
25                if(str[2] == 'a')
26                     flag = true;
27                //if(mm[str[2]]==1)// 用这个不能判断一个数是否存在 
28                if(mm.count(str[2])==1)//count返回的是key的个数
29                     //mm[str[0]] == 1;
30                     mm.insert(pair<char,bool>(str[0],true));
31           }
32           if(flag==0)//flag这个变量很必须,不能用mm.size()==0 
33           {
34                cout<<"none"<<endl;
35           }
36           else
37           {
38                map<char ,bool >::iterator ptr = mm.begin();
39                cout<<ptr->first;
40                ptr++;
41                for(;ptr!=mm.end();ptr++) 
42                     cout<<" "<<ptr->first;
43                cout<<endl;
44           }
45           cin>>unitbuf;
46      }
47      return 0;
48 }
49                
50                
51           

 

目录
相关文章
|
5月前
|
传感器 JavaScript 前端开发
VSCOde安装node.js环境
VSCOde安装node.js环境
|
5月前
|
安全 Java 编译器
面向对象--------三巨头
面向对象--------三巨头
|
Kubernetes Ubuntu Java
maven构建docker镜像三部曲之一:准备环境
实战mavenn的tomcat7-maven-plugin插件:准备工作
454 0
maven构建docker镜像三部曲之一:准备环境
|
机器学习/深度学习 编解码 Ubuntu
Linux不会装?Win10+Ubuntu双系统安装、配置、卸载保姆级图文避雷指南
Linux不会装?Win10+Ubuntu双系统安装、配置、卸载保姆级图文避雷指南
5578 0
Linux不会装?Win10+Ubuntu双系统安装、配置、卸载保姆级图文避雷指南
|
4天前
|
SQL 人工智能 安全
【灵码助力安全1】——利用通义灵码辅助快速代码审计的最佳实践
本文介绍了作者在数据安全比赛中遇到的一个开源框架的代码审计过程。作者使用了多种工具,特别是“通义灵码”,帮助发现了多个高危漏洞,包括路径遍历、文件上传、目录删除、SQL注入和XSS漏洞。文章详细描述了如何利用这些工具进行漏洞定位和验证,并分享了使用“通义灵码”的心得和体验。最后,作者总结了AI在代码审计中的优势和不足,并展望了未来的发展方向。
|
13天前
|
存储 弹性计算 人工智能
阿里云Alex Chen:普惠计算服务,助力企业创新
本文整理自阿里云弹性计算产品线、存储产品线产品负责人陈起鲲(Alex Chen)在2024云栖大会「弹性计算专场-普惠计算服务,助力企业创新」中的分享。在演讲中,他分享了阿里云弹性计算,如何帮助千行百业的客户在多样化的业务环境和不同的计算能力需求下,实现了成本降低和效率提升的实际案例。同时,基于全面升级的CIPU2.0技术,弹性计算全线产品的性能、稳定性等关键指标得到了全面升级。此外,他还宣布了弹性计算包括:通用计算、加速计算和容器计算的全新产品家族,旨在加速AI与云计算的融合,推动客户的业务创新。
|
11天前
|
编解码 Java 程序员
写代码还有专业的编程显示器?
写代码已经十个年头了, 一直都是习惯直接用一台Mac电脑写代码 偶尔接一个显示器, 但是可能因为公司配的显示器不怎么样, 还要接转接头 搞得桌面杂乱无章,分辨率也低,感觉屏幕还是Mac自带的看着舒服