浙大ACM1006

原创 2007年09月19日 15:56:00
  1. /** ZOJ-1006 Do The Untwist
  2.     http://acm.zju.edu.cn/show_problem.php?pid=1006
  3.     Yimin.Li
  4. **/
#include <iostream>
#include <string>

using namespace std;

int GetCode(const char &ch) 
{
    if ( ch == '_' )
    {
        return 0;
    }
    else if ( ch == '.' )
    {
        return 27;
    }
    else if ( ch >='a' && ch <='z' )
    {
        return ch-'a'+1;
    }
   
    return -1;
}

char GetChar(const int &code)
{
    if ( code == 0 )
    {
        return '_';
    }
    else if ( code == 27 )
    {
        return '.';
    }
    else
    {
        return code + 'a' - 1;
    }
}


void execute(const int &key, string &cipherText)
{
    int code, pIndex;
    string plainText(cipherText);
    string::size_type textLen = cipherText.length();
    for (int i=0; i<textLen; ++i)
    {
        pIndex = (key * i) % textLen;
        code = GetCode( cipherText[i] );
        code = (code + i) % 28;
        plainText[pIndex] = GetChar(code);
    }
    cipherText.swap(plainText);
}



int main()
{
     int key;
     string text;
   
   
    while ( cin >> key >> text )
     {
        if ( key == 0 )
            break;
        execute(key, text);
        cout << text << endl;
     }
   
     return 0;
   
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

浙大PAT甲级-1006

比较简单 关键点: -vector的用法(可参考http://www.cnblogs.com/wang7/archive/2012/04/27/2474138.html)#include #in...

浙大 PAT Advanced level 1006. Sign In and Sign Out

At the beginning of every day, the first person who signs in the computer room will unlock the door,...

浙大ACM 3455 Shizuka's Letter

浙大ACM 好像是这题,当时花了不少时间,主要可能是当时不小心哪里写错了,一直不AC,后来,用原来的想法,再写了一次,就AC了。 Shizuka's Letter Time Limit: ...

zoj浙大acm题目分类整理

DP: 1011 NTA 简单题 1013 Great Equipment 简单题 1024 Calendar Game 简单题 1027 Human Gene Functions 简单题 ...
  • bat67
  • bat67
  • 2017-05-15 21:56
  • 218

浙大 ACM 解题报告

  • 2015-12-30 21:51
  • 835KB
  • 下载

浙大ACM题目介绍

  • 2013-06-01 13:39
  • 100KB
  • 下载

浙大ACM 1002 Fire Net

先看看自己以前的题,找回点自己以前的思想,这题是我大一刚刚学C时写的,当时在练这题时,他们都说用搜索,但我用的是贪心,贪心一般是说找最多,这里我找的是最少,一个一个找下来,就OK了,你先找到这个点能被...

acm浙大算法设计课ppt

  • 2011-05-16 14:46
  • 2.84MB
  • 下载

浙大ACM 1003 Crashing Balloon

这题当时一开始想的很简单,然后碰壁了,后来用递归搞定的。现在拿来看看代码 Crashing Balloon Time Limit: 2 Seconds      Memory Limi...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)