POJ 3488-Arne Saknussemm 又一道密码题,模拟

POJ 3488-Arne Saknussemm 又一道密码题,模拟

密码题真的很有意思啊,不过现在做的还算简单题吧,以后有空要做做RSA公钥算法...
这个题就是简单模拟一下,值得注意的一点是判断'\'的时候,要用'\\',因为计算机把它当作转义字符来处理的 呵呵 开始我还以为我的编译器出问题了呢。

#include  < iostream >
#include 
< cmath >
#include 
< cstring >
#include 
< cstdio >
#include 
< algorithm >

using   namespace  std;

char  matrix[ 1000 ][ 1000 ];
char  line[ 2000 ];

int  main ()
{

    
int n;
    
int i,j;
    
int len;
    
int pos=0;
    
while(cin>>n)
    
{

        pos
=0;
        
for(i=0;i<n;i++)
            cin
>>matrix[i];
        len
=strlen(matrix[0]);
        
int flag=0;
        
for(j=0;j<len;j++)
        
{

            
for(i=0;i<n;i++)
            
{
                
if(matrix[i][j]!='_')
                    flag
=1;

                
if(flag==1)

                
{
                    line[pos]
=matrix[i][j];
                    pos
++;
                }

            }


        }

        line[pos]
='\0';
        reverse(line,line
+pos);
        
for(i=0;i<pos;i++)
        
{

            
if(line[i]=='_')
            
{
                printf(
" ");
                line[i]
=' ';
                
continue;
            }

            
else if(line[i]=='\\')
            
{
                cout
<<'\n';
                
continue;
            }

            
else 
                cout
<<line[i];
        }

        cout
<<endl<<endl;
    }

    
return 0;
}

你可能感兴趣的:(POJ 3488-Arne Saknussemm 又一道密码题,模拟)