1. 1.    信息加密

【问题描述】

在传递信息的过程中,为了加密,有时需要按一定规则将文本转换成密文发送出去。有一种加密规则是这样的:
1. 对于字母字符,将其转换成其后的第3个字母。例如:A→D,a→d,X→A,x→a;
2. 对于非字母字符,保持不变。
现在,请你根据输入的一行字符,输出其对应的密码。

【输入格式】

输入一个字符串(字符串长度不超过100)。

【输出格式】

输出加密后的字符串。

【输入样例】I(2016)love(08)China(15)!

【输出样例】L(2016)oryh(08)Fklqd(15)!

#include<iostream>
#include<string>
using namespace std;
string s;
int main()
{
cin >> s;
for(int i = ; i < s.size(); i++){
if((s[i] >= 'A' && s[i] <= 'Z') || (s[i] >= 'a' && s[i] <= 'z')){
if(s[i] == 'X'){
s[i] = 'A';
}
else if(s[i] == 'Y'){
s[i] = 'B';
}
else if(s[i] == 'Z'){
s[i] = 'C';
}
else if(s[i] == 'x'){
s[i] = 'a';
}
else if(s[i] == 'y'){
s[i] = 'b';
}
else if(s[i] == 'z'){
s[i] = 'c';
}
else{
s[i] += ;
}
}
}
cout << s << endl;
return ;
}
  1. 2.    变换密码

【问题描述】

一密码变换规则如下:一个正整数对应一个字符;如果该数模123的值在97-122范围,变换为ASCII为该余数对应的小写字符;如果变换不了小写字符,将该数模91,若余数在65-90范围,变换为ASCII为该余数对应的大写字符;如果变换不了大小写字符,变换为“*”。输入一个正整数,输出变换后的字符。

输入:

输入一个正整数n(1<=n<=1000)表示原始密码。

输出:

输出变换后的密码。

【样例输入】42

【样例输出】*

#include<iostream>
using namespace std;
int main() {
int n,t;
cin >> n;
t = n%;
if(t >= && t <= ) {
cout << char(t) << endl;
}
else {
t = n%;
if(t >= && t <= ) {
cout << char(t) << endl;
}
else{
cout << "*" << endl;
}
} return ;
}
  1. 1.    乒乓球

【问题描述】

国际乒联现在主席沙拉拉自从上任以来就立志于推行一系列改革,以推动乒乓球运动在全球的普及。其中 11分制改革引起了很大的争议,有一部分球员因为无法适应新规则只能选择退役。华华就是其中一位,他退役之后走上了乒乓球研究工作,意图弄明白 11 分制和 21 分制对选手的不同影响。在开展他的研究之前,他首先需要对他多年比赛的统计数据进行一些分析,所以需要你的帮忙。

华华通过以下方式进行分析,首先将比赛每个球的胜负列成一张表,然后分别计算在11分制和21分制下,双方的比赛结果(截止记录末尾)。

比如现在有这么一份记录,(其中W表示华华获得一分,L表示华华对手获得一分):

WWWWWWWWWWWWWWWWWWWWWWLW

在 11 分制下,此时比赛的结果是华华第一局 11 比 0 获胜,第二局 11 比 0 获胜,正在进行第三局,当前比分 1 比 1 。而在 21 分制下,此时比赛结果是华华第一局 21 比0 获胜,正在进行第二局,比分 2 比 1 。如果一局比赛刚开始,则此时比分为 0 比 0 。直到分差大于或者等于 2 ,才一局结束。

你的程序就是要对于一系列比赛信息的输入( WL 形式),输出正确的结果。

输入格式:

每个输入包含若干行字符串,字符串有大写的 W 、 L 和 E 组成。其中 E 表示比赛信息结束,程序应该忽略E之后的所有内容。

输出格式:

输出由两部分组成,每部分有若干行,每一行对应一局比赛的比分(按比赛信息输入顺序)。其中第一部分是 11 分制下的结果,第二部分是 21 分制下的结果,两部分之间由一个空行分隔。

【输入样例】

WWWWWWWWWWWWWWWWWWWW

WWLWE

【输出样例】

11:0

11:0

1:1

21:0

2:1

#include<iostream>
#include<cstdlib>
#include<string>
using namespace std;
int main()
{
string s1,s2;//方便输入
while(getline(cin,s2))s1+=s2;//输入字符串
int i=,a=,b=;//i是指针,a统计了赢的次数,b是输的次数
while(s1[i]!='E')//只要不是结束符,现在是判断11分制
{
switch(s1[i])//switch判断s1[i]
{
case 'W':a++;break;//如果s1[i]是‘W’,累计到a里
case 'L':b++;break;//如果s1[i]是‘E’,累计到b里
}
if((a>=||b>=)&&(abs(a-b)>=))//是否到达条件,一盘有没有结束
{
cout<<a<<":"<<b<<endl;//输出
a=;b=;//清零,下一盘
}
i++;//下一个字符
}
cout<<a<<":"<<b<<endl;//剩下的也要输完
cout<<endl;//换行隔开
a=b=;i=;//清零,换了一个分制
while(s1[i]!='E')//同理
{
switch(s1[i])
{
case 'W':a++;break;
case 'L':b++;break;
}
if((a>=||b>=)&&(abs(a-b)>=))
{
cout<<a<<":"<<b<<endl;
a=;b=;
}
i++;
}
cout<<a<<":"<<b<<endl;
return ;
}
  1. 2.    流星

【问题描述】

从坐标(0,0)到(w,h)是一个矩形相机的视野范围,注意矩形的四条线看拍不到物体的。w和h均为整数。P代表不同的流星,有不同的方向和速度。例如流星p的初始坐标是(1,3),速度v是(-2,5),则时间t为0.5时,流星的坐标为(1,3)+0.5*(-2,5)=(0.5,5).

问最多能照的多少颗流星。

输入:

输入第一行为两个整数w,h,分别表示相机视野范围的宽度和高度(从坐标零点开始),

第二行为整数n,表示有n颗流星,以下n行,每行4个整数,分别用空格分开,每行的前两个整数表示流星的初始坐标,后两个整数表示流星的速度方向。

输出:

输出仅一行,表示最多能照到的流星个数。

【输入样例】

4 2

2

-1 1 1 -1

5 2 -1 -1

【输出样例】

1

#include<stdio.h>
#include<string.h>
#include<algorithm>
#define N 100000 + 10
using namespace std;
typedef struct
{
int mk;
double time;
}NODE;
NODE node[N+N];
bool camp(NODE a ,NODE b)
{
return a.time < b.time || a.time == b.time && a.mk < b.mk;
}
double Max(double x ,double y)
{
return x > y ? x : y;
} double Min(double x ,double y)
{
return x < y ? x : y;
}
void Update(int x ,int a ,int w ,double& L ,double& R)
{
if(a == )
{
if(x <= || x >= w) R = L - ;
}
else if(a > )
{
L = Max(L ,-(double)x / a);
R = Min(R ,(double)(w - x) / a);
}
else
{
L = Max(L ,(double)(w - x) / a);
R = Min(R ,-(double)x / a);
} } int main ()
{
int t ,w ,h ,n ,i;
int x ,y ,a ,b;
//scanf("%d" ,&t);
//while(t--)
//{
scanf("%d %d" ,&w ,&h);
scanf("%d" ,&n);
int nowid = ;
for(i = ;i <= n ;i ++)
{
scanf("%d %d %d %d" ,&x ,&y ,&a ,&b);
double L = ,R = ;
Update(x ,a ,w ,L ,R);
Update(y ,b ,h ,L ,R);
if(L < R)
{
node[++nowid].time = L;
node[nowid].mk = ;
node[++nowid].time = R;
node[nowid].mk = -;
}
}
int Ans = ;
sort(node + ,node + nowid + ,camp);
int sum = ;
for(i = ;i <= nowid ;i ++)
{
sum += node[i].mk;
if(Ans < sum) Ans = sum;
}
printf("%d\n" ,Ans);
// }
return ;
}

noip第34课作业的更多相关文章

  1. noip第19课作业

    1. 谁考了第K名 在一次考试中,每个学生的成绩都不相同,现知道了每个学生的学号和成绩,求考第k名学生的学号和成绩. [输入格式] 第一行有两个整数,分别是学生的人数n(1<=n<=100 ...

  2. noip第5课作业

    1.     计算税收 [问题描述] 对某产品征收税金,在产值1万元以上收税5%:在1万元以下但在5000元或者以上的征收税3%:在5000元以下但在1000元或以上征收税2%:1000元以下的免收税 ...

  3. noip第33课作业

    1.    排座椅 [问题描述] 上课的时候总会有一些同学和前后左右的人交头接耳,这是令小学班主任十分头疼的一件事情.不过,班主任小雪发现了一些有趣的现象,当同学们的座次确定下来之后,只有有限的D对同 ...

  4. noip第29课作业

    1.   钢条切割 [问题描述] 一家公司购买长钢条,将其切割成短钢条出售,切割本身没有成本,长度为i的短钢条的价格为Pi.那给定一段长度为n的钢条和一个价格表Pi,求钢条的切割方案使得收益Rn最大. ...

  5. noip第28课作业

    分段数列 [问题描述] 对于给定的一个长度为N的正整数数列A[i],现要将其分成连续的若干段,并且每段和不超过M(可以等于M),问最少能将其分成多少段使得满足要求. 输入格式: 输入第1行包含两个正整 ...

  6. noip第27课作业

    1. 繁忙的都市 [问题描述] 城市C是一个非常繁忙的大都市,城市中的道路十分的拥挤,于是市长决定对其中的道路进行改造.城市C的道路是这样分布的:城市中有n个交叉路口,有些交叉路口之间有道路相连,两个 ...

  7. noip第26课作业

    1.    信使 [问题描述] 战争时期,前线有n个哨所,每个哨所可能会与其他若干个哨所之间有通信联系.信使负责在哨所之间传递信息,当然,这是要花费一定时间的(以天为单位).指挥部设在第一个哨所.当指 ...

  8. noip第25课作业

    1.   求一个有向图所有顶点入度的和 输入有向图的顶点个数,边数以及各顶点之间的关联情况,要求求出这个有向图的所有顶点入度的总和. [输入格式] 第1行:2个空格分开的整数n(2<=n< ...

  9. noip第24课作业

    1.  马走日 [问题描述] 马在中国象棋以日子形规则移动.请编写一段程序给定n*m大小的棋盘,以及马的初始位置(x,y),要求不能重复经过棋盘上的同一个点,计算马可以有多少途径遍历棋盘上的所有点. ...

随机推荐

  1. cookie session ORM 操作

    . ORM增删改查操作 http://www.cnblogs.com/liwenzhou/p/8660826.html . 单表增删改查 . 单表的双下划线操作 . 外键的跨表查询 . 正向查询 . ...

  2. 织梦替换百度编辑器后栏目内容、单页无法保存bug修复

    找了一些教程是错的,这个测试过是正确的. 修改后台文件dede>templets>catalog_add.htm和catalog_edit.htm 一.在catalog_add.htm大概 ...

  3. 前端面试问题css汇总

    1,行内元素有哪些?块级元素有哪些?空元素有哪些?CSS的盒模型? 块级元素:div p h1 h2 h3 h4 form ul li 行内元素: a b br i span input select ...

  4. iOS.WWDC

    1. ASCIIwwdc: Searchable full-text transcripts of WWDC sessions http://asciiwwdc.com

  5. Codeforces 798C. Mike and gcd problem 模拟构造 数组gcd大于1

    C. Mike and gcd problem time limit per test: 2 seconds memory limit per test: 256 megabytes input: s ...

  6. Https如何确保传输安全的

    1.对称加密算法 加密和解密算法是公开的,那个密钥是保密的, 只有双方才知道, 这样生成的加密消息(密文) 别人就无法得知了. 2.非对称加密算法 RSA算法非常有意思,是有一对儿钥匙, 一个是保密的 ...

  7. python 日志滚动 分文件

    import logging from logging.handlers import RotatingFileHandler import datetime import os def main() ...

  8. flask 中文编码解码

    process.append("中文") print(process) # return Response(json.dumps(process), mimetype='appli ...

  9. npm run build出问题十分通用的解决方法

    1.C:\NanoFabric\52ABP\SPAHost\ClientApp\node_modules 原来的目录重命名为C:\NanoFabric\52ABP\SPAHost\ClientApp\ ...

  10. Maven构建JavaWeb

    查看java和mvn版本 java -version mvn -v D:\software\yiibai\spring-1.4.3.RELEASE>java -versionjava versi ...