ZOJ 2514 题解

    题目链接

    正如CYJJ所说,这个题目是Killing in Seconds,没有什么算法,直接根据题目做,题目怎么说我就 怎么做。

    题目的大概意思就是,给出一个用户名和一个密码,把密码里面的1改为@,0改为%,l改为L,O改为o,然后在结果中输出来修改过的密码,当然用户名也是 要输出来的,如果一个也没有修改过,就输出No account is modified.

    不动脑子直接做,附上代码:in C++


代码
 1 #include<iostream>
 2 #include<string>
 3 #include<vector>
 4 using namespace std;
 5 
 6 int main()
 7 {
 8 int n;
 9 string name,pwd;
10 vector<string> vname,vpwd;
11 
12 while(cin>>&& n != 0)
13 {
14    for(int i = 0 ; i < n ; i ++)
15    {
16     cin>>name>>pwd;
17     int flag = 0 ;
18     for(int j = 0 ; j != pwd.size() ; j ++)
19     {
20      switch(pwd[j])
21      {
22      case '1': pwd[j] = '@';
23       flag = 1;
24       break;
25      case '0': pwd[j] = '%';
26       flag = 1;
27       break;
28      case 'l': pwd[j] = 'L';
29       flag = 1;
30       break;
31      case 'O': pwd[j] = 'o';
32       flag = 1 ;
33       break ;
34      default:break;
35      }
36     
37     }
38     if(flag)
39     {
40      vname.push_back(name);
41      vpwd.push_back(pwd);
42     }
43 
44 
45    }
46    if(vname.size())
47    {
48     cout<<vname.size()<<endl;
49     for(int i = 0 ; i != vname.size() ; i ++)
50      cout<<vname[i]<<" "<<vpwd[i]<<endl;
51    }
52    else cout<<"No account is modified."<<endl;
53    vname.clear();
54    vpwd.clear();
55 }
56 
57 return 0;
58 }


posted on 2010-02-05 01:48  vivy  阅读(209)  评论(0编辑  收藏  举报