AC日记——加密的病历单 openjudge 1.7 12

12:加密的病历单

总时间限制: 
1000ms

内存限制: 
65536kB
描述

小英是药学专业大三的学生,暑假期间获得了去医院药房实习的机会。 
在药房实习期间,小英扎实的专业基础获得了医生的一致好评,得知小英在计算概论中取得过好成绩后,主任又额外交给她一项任务,解密抗战时期被加密过的一些伤员的名单。 
经过研究,小英发现了如下加密规律(括号中是一个“原文 -> 密文”的例子) 
1.  原文中所有的字符都在字母表中被循环左移了三个位置(dec  -> abz) 
2.  逆序存储(abcd -> dcba ) 
3.  大小写反转(abXY -> ABxy)

输入
一个加密的字符串。(长度小于50且只包含大小写字母)
输出
输出解密后的字符串。
样例输入
GSOOWFASOq
样例输出
Trvdizrrvj
来源
医学部计算概论2011年期末考试(王志钢)改编

思路:

  大模拟;

来,上代码:

#include<cstdio>
#include<string>
#include<iostream>
#include<algorithm>

using namespace std;

int len;

string word;

void trun()
{
    int l=0,r=len-1;
    while(r>l)
    {
        swap(word[l],word[r]);
        r--,l++;
    }
}

inline char char_(char char__)
{
    if(char__>=‘A‘&&char__<=‘Z‘)
    {
        char__+=3;
        if(char__>‘Z‘) char__-=26;
        char__+=32;
    }
    else if(char__>=‘a‘&&char__<=‘z‘)
    {
        char__+=3;
        if(char__>‘z‘) char__-=26;
        char__-=32;
    }
    return char__;
}

int main()
{
    cin>>word;
    len=word.length();
    trun();
    for(int i=0;i<len;i++) word[i]=char_(word[i]);
    cout<<word<<endl;
    return 0;
}
时间: 2024-10-07 07:19:07

AC日记——加密的病历单 openjudge 1.7 12的相关文章

12:加密的病历单

12:加密的病历单 查看 提交 统计 提问 总时间限制:  1000ms 内存限制:  65536kB 描述 小英是药学专业大三的学生,暑假期间获得了去医院药房实习的机会. 在药房实习期间,小英扎实的专业基础获得了医生的一致好评,得知小英在计算概论中取得过好成绩后,主任又额外交给她一项任务,解密抗战时期被加密过的一些伤员的名单. 经过研究,小英发现了如下加密规律(括号中是一个"原文 -> 密文"的例子) 1.  原文中所有的字符都在字母表中被循环左移了三个位置(dec  ->

AC日记——「HNOI2017」单旋 LiBreOJ 2018

#2018. 「HNOI2017」单旋 思路: set+线段树: 代码: #include <bits/stdc++.h> using namespace std; #define maxn 100005 #define maxtree maxn<<2 int val[maxtree],tag[maxtree],L[maxtree],R[maxtree],mid[maxtree]; int op[maxn],ki[maxn],bi[maxn],cnt,size,n,ch[maxn]

AC日记——字符串P型编码 openjudge 1.7 31

31:字符串p型编码 总时间限制:  1000ms 内存限制:  65536kB 描述 给定一个完全由数字字符('0','1','2',…,'9')构成的字符串str,请写出str的p型编码串.例如:字符串122344111可被描述为"1个1.2个2.1个3.2个4.3个1",因此我们说122344111的p型编码串为1122132431:类似的道理,编码串101可以用来描述1111111111:00000000000可描述为"11个0",因此它的p型编码串即为11

AC日记——大整数的因子 openjudge 1.6 13

13:大整数的因子 总时间限制:  1000ms 内存限制:  65536kB 描述 已知正整数k满足2<=k<=9,现给出长度最大为30位的十进制非负整数c,求所有能整除c的k. 输入 一个非负整数c,c的位数<=30. 输出 若存在满足 c%k == 0 的k,从小到大输出所有这样的k,相邻两个数之间用单个空格隔开:若没有这样的k,则输出"none". 样例输入 30 样例输出 2 3 5 6 思路: 模拟: 来,上代码: #include<cstdio&g

AC日记——计算多项式的导函数 openjudge 1.5 38

38:计算多项式的导函数 总时间限制:  1000ms 内存限制:  65536kB 描述 计算多项式的导函数是一件非常容易的任务.给定一个函数f(x),我们用f'(x)来表示其导函数.我们用x^n来表示x的n次幂.为了计算多项式的导函数,你必须知道三条规则: (1).(C)' = 0 如果C是常量 (2).(C*x^n)' = C*n*x^(n-1) 如果n >= 1且C是常量 (3).(f1(x)+f2(2))' = f1'(x)+f2'(x) 容易证明,多项式的导函数也是多项式. 现在,请

AC日记——数1的个数 openjudge 1.5 40

40:数1的个数 总时间限制:  1000ms 内存限制:  65536kB 描述 给定一个十进制正整数n,写下从1到n的所有整数,然后数一下其中出现的数字“1”的个数. 例如当n=2时,写下1,2.这样只出现了1个“1”:当n=12时,写下1,2,3,4,5,6,7,8,9,10,11,12.这样出现了5个“1”. 输入 正整数n.1 <= n <= 10000. 输出 一个正整数,即“1”的个数. 样例输入 12 样例输出 5 来源 习题(8-11) 医学部 2010 期末试题 尤朝 思路

AC日记——向量点积计算 openjudge 1.6 09

09:向量点积计算 总时间限制:  1000ms 内存限制:  65536kB 描述 在线性代数.计算几何中,向量点积是一种十分重要的运算. 给定两个n维向量a=(a1,a2,...,an)和b=(b1,b2,...,bn),求点积a·b=a1b1+a2b2+...+anbn. 输入 第一行是一个整数n.1 <= n <= 1000.第二行包含n个整数a1,a2,...,an.第三行包含n个整数b1,b2,...,bn.相邻整数之间用单个空格隔开.每个整数的绝对值都不超过1000. 输出 一个

AC日记——最长最短单词 openjudge 1.7 25

25:最长最短单词 总时间限制:  1000ms 内存限制:  65536kB 描述 输入1行句子(不多于200个单词,每个单词长度不超过100),只包含字母.空格和逗号.单词由至少一个连续的字母构成,空格和逗号都是单词间的间隔. 试输出第1个最长的单词和第1个最短单词. 输入 一行句子. 输出 两行输出:第1行,第一个最长的单词.第2行,第一个最短的单词. 样例输入 I am studying Programming language C in Peking University 样例输出 P

AC日记——Aragorn&#39;s Story HDU 3966

Aragorn's Story Time Limit: 10000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 10510    Accepted Submission(s): 2766 Problem Description Our protagonist is the handsome human prince Aragorn comes from The Lor