zoukankan      html  css  js  c++  java
  • SWUST 167

    赋值了吗?

    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           
  • 相关阅读:
    用python分析1225万条淘宝数据,终于搞清楚了我的交易行为
    Python 中 3 个不可思议的返回
    2020年最新的过某宝滑块验证技术,Python大牛轻松搞定技术难题
    改改Python代码,运行速度还能提升6万倍
    Python的10个神奇的技巧
    Python 在线免费批量美颜,妈妈再也不用担心我 P 图两小时啦
    全程干货,requests模块与selenium框架详解
    Python-选择器Xpath,Css,Re
    Python-Django 模型层-多表查询-2
    Python-Django 模型层-多表查询
  • 原文地址:https://www.cnblogs.com/hxsyl/p/2687267.html
Copyright © 2011-2022 走看看