Secret Cow code(USACO)
题目描述:zxyer为了防止他的标程被别人抄走,他在计算机中的rar文件上设置了一个密码,其中每一个密码都有一个初始字符串,字符串由大写字母组成,且长度不超过30位,每一个密码还有一个询问,询问为一个整数n,表示询问当前第n位的字符为哪个字母。
字符串的加密过程如下:假设原字符串有n位,将原始字符串的第n位拿出,将该字母变成新的字符串的第一个字母,然后再将原始字符串的前n-1位放在新字符串的第2~n位,最后再将旧字符串与新字符串合并(即把新字符串放在旧字符串后面),加密过程可进行无限次。
很不巧的是,zxyer忘记了自己设置的密码,无奈的他只好请你来帮忙求出密码。
输入:一个不多于30位的由大写字母组成的字符串,表示密码的初始字符串,接下来是一个整数N,表示询问第N位的字母是什么。
输出:一个大写字母,表示第N位的字母。
样例输入:
COW 8
样例输出:
C
样例解释:
COW -> COWWCO -> COWWCOOCOWWC
————————————————我是分割线————————————————
很显然的DP题啊,自己找规律,发现只要每次找到长度*2^n(n为2^n*长度不超过N的最大整数)然后把N-(2^n+1)即可,如果N=0则+原始长度
#include<cstdio>
#include<cstring>
#define MN 30
using namespace std;
char ch[MN];
long long n;
long long i;
int num;
int main(){
freopen("code.in","r",stdin);
freopen("code.out","w",stdout);
scanf("%s",ch);
scanf("%lld",&n);
num=strlen(ch);
while(n>num){
i=num;
while(n>(i<<))i<<=;
n-=(i+);
if(n==)n=i;
}
printf("%c\n",ch[n-]);
fclose(stdin);
fclose(stdout);
}
Secret Cow code(USACO)的更多相关文章
- 洛谷【P3612】[USACO17JAN]Secret Cow Code秘密奶牛码
我对分治的理解:https://www.cnblogs.com/AKMer/p/9728574.html 题目传送门:https://www.luogu.org/problemnew/show/P36 ...
- Cow Navigation(USACO)
题目大意: 给定一个N*N的矩阵,并告诉你每一个格子能否经过,要求你求出(n,1)到(1,n)的最短路径的操作数. 其中操作有2种,第一种是沿着目前的方向走一格,第二种是向左或向右转90° 由于题目设 ...
- 洛谷【P1885】Moo
我对分治的理解:https://www.cnblogs.com/AKMer/p/9728574.html 题目传送门:https://www.luogu.org/problemnew/show/P18 ...
- hdu.1111.Secret Code(dfs + 秦九韶算法)
Secret Code Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Tota ...
- [swustoj 679] Secret Code
Secret Code 问题描述 The Sarcophagus itself is locked by a secret numerical code. When somebody wants to ...
- HDU 1111 Secret Code(数论的dfs)
Secret Code Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Submit ...
- 【微信】根据appid, secret, code获取用户基本信息
function getUserInfo(){ $appid = "yourappid"; $secret = "yoursecret"; $code = $_ ...
- PHP利用微信跳转的Code参数获取用户的openid
//获取微信登录用户信息function getOpenID($appid,$appsecret,$code){ $url="https://api.weixin.qq.com/sns/ ...
- 微信网页授权 通过code获取openid 报错40163 code been used
使用好好的微信功能,突然安卓无法正常使用了,苹果的正常. 安卓报错内容: 40163,code been used. 题外话:微信的东西,为何报英文错误呢,装什么13. 实测结果:安卓获取用户信息时 ...
随机推荐
- 数据库DDL
自己对数据库的整理,也是对自己知识的梳理 SQL ( Structure query language ) 结构化查询语言 SQL语言分为4个部分 1.DDL(Data Definition Lang ...
- Windows Server 2008 R2 可能会碰到任务计划无法自动运行的解决办法
在做Windows Server 2008R2系统的计划任务时使用到了bat脚本,手动启动没问题,自动执行缺失败,代码:0x2. 将“操作”的“起始于”进行设置了bat脚本的目录即可.
- python requests第三方库详解
异常处理:try ... except ...
- adnroid 打包问题 :compileReleaseJavaWithJavac
今天打包的时候,由于着急.改了些本地的变化就assembleRelease. 然后就报错: compileReleaseJavaWithJavac 后来网上乱找,.... 之后我想到先跑一下,果然是因 ...
- 被relativeLayout的grivate center 折腾死了
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android=&q ...
- Nodejs-异步操作
1.阻塞 console.time('main');//代码计时器 //不断循环阻塞了代码的执行 for(var i=0;i<10000000;i++){ } console.timeEnd(' ...
- 孤荷凌寒自学python第六十一天在Fedora28版的linux系统上找搭建本地Mongodb数据服务
孤荷凌寒自学python第六十一天在Fedora28版的linux系统上找搭建本地Mongodb数据服务 (完整学习过程屏幕记录视频地址在文末) 今天是学习mongoDB数据库的第七天.成功在本地搭建 ...
- oracle 隔离级别、事务怎么开始的以及如何查看数据库采用字符集
把一下语句全部粘贴至控制台运行后可以查看oracle 隔离级别 declare trans_id ); begin trans_id := dbms_transaction.local_transac ...
- windows版本cloudbase-init流程说明
源码流程说明 - 程序首先判断操作系统类型,加载对应的模块 - 加载服务,服务共分为四种: 'cloudbaseinit.metadata.services.httpservice.HttpServi ...
- shell文本处理工具总结
shell文本处理工具总结 为了效率,应该熟练的掌握自动化处理相关的知识和技能,能力就表现在做同样的一件事情,可以做的很好的同时,耗时还很短. 再次总结shell文本处理的相关规则,对提高软件调试效率 ...