题目链接:

http://acm.nyist.me/JudgeOnline/problem.php?id=2356

题目描述

众所周知,LLM的算法之所以菜,就是因为成天打游戏,最近LLM突然想玩《金庸群侠传X》,结果进去后各种被虐,LLM就开始研究这个游戏的代码,顺便还学会了一点点点点lua语言,然后就开始了伟大的改游戏代码之旅,然后LLM发现自己too young了,这个游戏把所有的文本都进行了哈希,如果自己改了代码或者剧情文本的话它哈希出来的值就会和原来的哈希值不一样......然后游戏就会打不开.....,现在LLM发现了文本的哈希函数,要求你写个程序,功能为:

输入一段字符串,输出一个哈希值

为了简化这个问题,我们假设游戏的哈希方法是:

从第二个字符开始每个字符都对应其ACISS码的值,然后异或上一个字符的ACISS码值,然后所有的异或值相乘取余字符串中出现最多的那个字符的ACISS码值(如果有多个,则选取ACISS码最小的那个)

输入

每个测试文件不多于100组测试样例

输入包含一个只有小写字母的字符串s,

2<=s<=10000

输出

输出仅一个数字,代表答案

样例输入

asd
as
asadf

样例输出

26
18
39

提示

来源

河南省多校脸萌第六场

解题思路:

仔细按照题目模拟即可。

AC代码:

 #include<stdio.h>
#include<string.h>
char a[];
int main()
{
int b[],i,l,m,j;
long long ans1,ans2;
while(scanf("%s",a) != EOF)
{
l=strlen(a); memset(b,,sizeof(b));
for(i=;i<l;i++)
b[a[i]-'a']++;
for(j=,m=,i=;i<;i++)
{
if(b[i] > j)
{
j=b[i];
m=i;//找到出现次数最多的字母
}
} ans1 = a[]-'a'+;
for(i=;i<l;i++)//按题意模拟
{
ans1 = (a[i-]-'a'+) ^ (a[i]-'a'+);
if(i==)
ans2 = ans1;
else
{
ans2 *= ans1;
ans2 %= (m+);
}
}
printf("%lld\n",ans2);
}
return ;
}

NYOJ 2356 哈希计划(模拟)的更多相关文章

  1. 【bzoj3291】Alice与能源计划 模拟费用流+二分图最大匹配

    题目描述 在梦境中,Alice来到了火星.不知为何,转眼间Alice被任命为火星能源部长,并立刻面临着一个严峻的考验. 为了方便,我们可以将火星抽象成平面,并建立平面直角坐标系.火星上一共有N个居民点 ...

  2. NYOJ 2 括号配对问题 (模拟)

    题目链接 描述 现在,有一行括号序列,请你检查这行括号是否配对. 输入 第一行输入一个数N(0<N<=100),表示有N组测试数据.后面的N行输入多组输入数据,每组输入数据都是一个字符串S ...

  3. nyoj 138 找球号(二)(哈希)

    题目:nyoj——138 /*** 哈希求解...采用链表保存 插入时,可以去除重复 查找 找到该组,然后在改组的查找 当这个组不存在时或是没有找到时是 NO 其他是YES 1e6+1 时间最短 */ ...

  4. Android编程示例:创建机场计划模拟器应用程序

    在本文中,我们将演示如何使用Android Studio和Java编程语言创建一个示例Android应用程序,从“临时”实现高级响应用户界面的功能.本文中讨论的应用程序将实现机场航班时刻表模拟的功能. ...

  5. AcWing 840. 模拟散列表

    拉链法 #include<cstring> #include<iostream> using namespace std ; ; int h[N],e[N],ne[N],idx ...

  6. mysql知识点归纳-执行计划篇

    愿历尽千帆,归来仍是少年 缘由: 优化sql,顾此记录一下,以便温习之用. 前置: sql执行过程:客户端 -> 连接器 -> 分析器 (或查询缓存 - > end) -> 优 ...

  7. $NOIp$做题记录

    虽然去年做了挺多了也写了篇一句话题解了但一年过去也忘得差不多了$kk$ 所以重新来整理下$kk$ $2018(4/6$ [X]积木大赛 大概讲下$O(n)$的数学方法. 我是从分治类比来的$QwQ$. ...

  8. NES模拟器开发-CPU笔记

    我的项目XNES已经开始动手编码了,目前的进度大概是cpu的模拟完成了大概10~20%左右.简单记录一下CPU模拟过程中遇到的问题和思考. 原理: cpu模拟实际就是模拟cpu处理opcode的过程, ...

  9. POJ1002 487-3279

    Description 企业喜欢用容易被记住的电话号码.让电话号码容易被记住的一个办法是将它写成一个容易记住的单词或者短语.例如,你需要给滑铁卢大学打电话时,可以拨打TUT-GLOP.有时,只将电话号 ...

随机推荐

  1. 关于html,css,js三者的加载顺序问题

    <head lang="en"> <meta charset="utf-8"> <title></title> ...

  2. cut 命令详解

    cut  作用:按列提取文件 参数: -d 指明列分隔符 -f 选择输出的区域 -c 指定字符位置 -b :以字节为单位进行分割.这些字节位置将忽略多字节字符边界,除非也指定了 -n 标志. -c : ...

  3. C#生成缩略图 (通用模式)

    用数据库保存图片的路径和文件名称,把文件保存在文件夹中.//保存在数据库中的文件路径ArrayList arrFilePath=new ArrayList();arrFilePath=myCommon ...

  4. sql查询化繁为简 告别rs.getString("XX"),bean属性赋值setXX("XX")

    一.在执行sql语句查询时候,查询的结果是set的map集合(ResultSet): 结果使用rs.getString("XX")获得对应属性的值,赋值到bean对象的相应的属性中 ...

  5. 深入C#.NET数据类型

    深入C#数据类型 --不同类型的参数传递使用值传递,在方法中对参数的更改在调用后不能保留.使用ref方式传递,可以保留对参数值的更改. ---值方式参数传递和引用方式传递使用值方式(不用ref修饰)传 ...

  6. 人工神经网络,支持任意数量隐藏层,多层隐藏层,python代码分享

    http://www.cnblogs.com/bambipai/p/7922981.html------误差逆传播算法讲解 人工神经网络包含多种不同的神经网络,此处的代码建立的是多层感知器网络,代码以 ...

  7. 【原创】Android AOP面向切面编程AspectJ

    一.背景: 在项目开发中,对 App 客户端重构后,发现用于统计用户行为的友盟统计代码和用户行为日志记录代码分散在各业务模块中,比如在视频模块,要想实现对用户对监控点的实时预览和远程回放行为进行统计, ...

  8. SSM中(Spring-SpringMVC-Mybatis)(二:整合)

    使用Maven整合一个SSM,当然要配有Maven环境,Maven的环境配置自行百度,挺好配的 创建一个Maven项目以后,目录结构如图所示: 然后就是各部分配置: 首先pom导入依赖jar包: &l ...

  9. EditTable-V1.0--续集

    上一个功能有点少,这个V1.0版本是最小集合的. ================================= 双击单元格编辑,可以添加,删除单元格.并且保持相邻单元格不同的背景色. 引用了“M ...

  10. 从MongoDB的ObjectId中获取时间信息

    MongoDB默认使用_id字段作为主键,类型为ObjectId.ObjectId的生成有一定的规则,详情可以查看这篇文章 - MongoDB深究之ObjectId.如果你在写入数据库的时候忘记写入创 ...