Chinaunix首页 | 论坛 | 博客
  • 博客访问: 764455
  • 博文数量: 144
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1150
  • 用 户 组: 普通用户
  • 注册时间: 2014-03-17 14:32
个人简介

小公司研发总监,既当司令也当兵!

文章分类

全部博文(144)

分类: LINUX

2018-01-21 15:34:10

题目描述

为人性僻耽佳句,语不惊人死不休。这是伟大诗圣杜甫的写照,也是zhclk的毕生追求。终于,一个机会,天授神书——《锦绣文机》,只是它经过了加密,等待着它的有缘人……

题目描述:

扉页上有x行密码,每行密码y个字符(仅包括数字及字母(区分大小写),y可能大于256),此密码暗合阴阳两仪四象八卦,因此x、y均为奇数(有关系吗?),每行密码中包含大量迷惑信息,但每行密码去掉某一个字符后可形成回文串,将前m行要去掉的字符的ASCII码相加的和模19920229得到f[-1],剩下x-m行做同样操作得到f[0],将f[-1],f[0]代入函数f[k]:=a*f[k-2]+b*f[k-1],求得第n项的值模19920229(怎么又是这个数…)即为神书密码。


数据范围

对于80%的数据:0

对于100%的数据:0

输入格式

第1行依次为x a b n m (含义见题目)

第2行直至文件结束为密码正文

输出格式

一个数f[n]

分析:
此题天机在于回文。对于任意回文字符串,将所有字符异或结果一定是0;如果回文中,恰好有一个“另类”,那么所有字符的异或必然就是这个“另类”。

点击(此处)折叠或打开

  1. int get_exp(const char *str, int len)
  2. {
  3.      int ret = 0;
  4.      int i;
  5.      for (i = 0; i < len; i++)
  6.              ret ^= str[i];

  7.     return ret;
  8. }


阅读(2648) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~