代码改变世界

Sicily/1729. Steganography

2011-08-16 08:53  Min·zc  阅读(148)  评论(0编辑  收藏  举报

按要求字符串处理

 1 #include <iostream>

 2 #include <memory.h>
 3 #include <stdlib.h>
 4 #include <string>
 5 using namespace std;
 6 int word[5];
 7 void print()
 8 {
 9         int num=0;
10         for(int i=0;i<5;i++)
11         {
12         //     cout<<word[i];
13                 if(word[i]!=0)
14                 word[i]=(word[i]+1)%2;
15                 num*=2;
16                 num+=word[i];
17         }
18         //cout<<num<<endl;
19         if(num==0)
20                 cout<<" ";
21         else if(num==27)
22                 cout<<"'";
23         else if(num==28)
24                 cout<<",";
25         else if(num==29)
26                 cout<<"-";
27         else if(num==30)
28                 cout<<".";
29         else if(num==31)
30                 cout<<"?";
31         else
32         {
33                 char tem='A';
34                 tem+=(num-1);
35                 cout<<tem;
36         }
37         memset(word,0,sizeof(word));
38 }
39 int main()
40 {
41         string tem;
42         int t=0;
43         while(getline(cin,tem))
44         {
45                 int len=tem.size();
46                 if(tem[0]=='#')
47                         break;
48                 if(tem[0]=='*')
49                 {
50                         if(t!=0)
51                                 print();
52                         memset(word,0,sizeof(word));
53                         t=0;
54                         cout<<endl;
55                 }
56                 int con=0;
57                 for(int i=0;i<len;i++)
58                 {
59                         //cout<<t<<endl;
60                         if(tem[i]!=' ')
61                         {
62                                 if(con==1)
63                                 {
64                                         t++;
65                                         if(t==5)
66                                         {
67                                                 print();
68                                                 t=0;
69                                         }
70                                 }
71                                 con=0;
72                         }
73                         else
74                         {
75                                 con=1;
76                                 word[t]++;      
77                         }
78                 }
79         }
80 }