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 }