noip第34课作业
- 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 ;
}
- 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. 乒乓球
【问题描述】
国际乒联现在主席沙拉拉自从上任以来就立志于推行一系列改革,以推动乒乓球运动在全球的普及。其中 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 ;
}
- 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课作业的更多相关文章
- noip第19课作业
1. 谁考了第K名 在一次考试中,每个学生的成绩都不相同,现知道了每个学生的学号和成绩,求考第k名学生的学号和成绩. [输入格式] 第一行有两个整数,分别是学生的人数n(1<=n<=100 ...
- noip第5课作业
1. 计算税收 [问题描述] 对某产品征收税金,在产值1万元以上收税5%:在1万元以下但在5000元或者以上的征收税3%:在5000元以下但在1000元或以上征收税2%:1000元以下的免收税 ...
- noip第33课作业
1. 排座椅 [问题描述] 上课的时候总会有一些同学和前后左右的人交头接耳,这是令小学班主任十分头疼的一件事情.不过,班主任小雪发现了一些有趣的现象,当同学们的座次确定下来之后,只有有限的D对同 ...
- noip第29课作业
1. 钢条切割 [问题描述] 一家公司购买长钢条,将其切割成短钢条出售,切割本身没有成本,长度为i的短钢条的价格为Pi.那给定一段长度为n的钢条和一个价格表Pi,求钢条的切割方案使得收益Rn最大. ...
- noip第28课作业
分段数列 [问题描述] 对于给定的一个长度为N的正整数数列A[i],现要将其分成连续的若干段,并且每段和不超过M(可以等于M),问最少能将其分成多少段使得满足要求. 输入格式: 输入第1行包含两个正整 ...
- noip第27课作业
1. 繁忙的都市 [问题描述] 城市C是一个非常繁忙的大都市,城市中的道路十分的拥挤,于是市长决定对其中的道路进行改造.城市C的道路是这样分布的:城市中有n个交叉路口,有些交叉路口之间有道路相连,两个 ...
- noip第26课作业
1. 信使 [问题描述] 战争时期,前线有n个哨所,每个哨所可能会与其他若干个哨所之间有通信联系.信使负责在哨所之间传递信息,当然,这是要花费一定时间的(以天为单位).指挥部设在第一个哨所.当指 ...
- noip第25课作业
1. 求一个有向图所有顶点入度的和 输入有向图的顶点个数,边数以及各顶点之间的关联情况,要求求出这个有向图的所有顶点入度的总和. [输入格式] 第1行:2个空格分开的整数n(2<=n< ...
- noip第24课作业
1. 马走日 [问题描述] 马在中国象棋以日子形规则移动.请编写一段程序给定n*m大小的棋盘,以及马的初始位置(x,y),要求不能重复经过棋盘上的同一个点,计算马可以有多少途径遍历棋盘上的所有点. ...
随机推荐
- org.apache.commons.net.ftp
org.apache.commons.NET.ftp Class FTPClient类FTPClient java.lang.Object Java.lang.Object继承 org.apache. ...
- PAT 1081 检查密码(15) (代码+思路)
1081 检查密码(15 分) 本题要求你帮助某网站的用户注册模块写一个密码合法性检查的小功能.该网站要求用户设置的密码必须由不少于6个字符组成,并且只能有英文字母.数字和小数点 .,还必须既有字母也 ...
- 789A Anastasia and pebbles
A. Anastasia and pebbles time limit per test 1 second memory limit per test 256 megabytes input stan ...
- Python.SQLAlchemy.0
1. SQLAlchemy and You http://lucumr.pocoo.org/2011/7/19/sqlachemy-and-you/ 2. Overview http://docs.s ...
- javascript 高级程序设计 二
这里我们直接进入主题: 在JS刚刚开始的时候,必须面临一个问题,那就是如何使的JS的加载和执行不会影响web核心语言HTML的展示效果,和HTML和谐共存. 在这个背景下<script>标 ...
- Luogu 2279 [HNOI2003]消防局的设立 - 贪心
Description 给定一棵树形图, 建若干个消防站, 消防站能够覆盖到距离不超过2的点, 求最少需要建几个消防站才能覆盖所有点 Solution 从深度最深的点开始, 在它的爷爷节点上建, 每建 ...
- Nginx 如何设置反向代理
网络结构如上图.可能你只有一个公网的Ip地址. 但是您的内网有个网站需要映射至外网.而又不想添加其它的非80端口.则你可以直接使用nginx来做反向代理即可.首先,配置nginx.conf文件. ht ...
- UI设计教程:关于版式设计
版式设计是视觉传达的重要手段之一,版式设计,即把有限的视觉元素在版面页进行有效的视觉组合,最优化地传达信息的同时,去影响受众,使受众产生视觉上的美感. 版式设计基本流程 在进行版式设计时,设计作品的 ...
- 适合新手小白的UI学习路线完整版
UI设计是很多年轻人活着想转行学习的人的新职业目标,越来越多的人看到UI设计良好的就业发展前景,纷纷投入到UI设计的大军中来,想学习UI设计,很多小白并不知道从何开始学起,用什么样的方法去学习,所以今 ...
- Configuration Reference In Vue CLI 3.0
Configuration Reference This project is sponsored by #Global CLI Config Some global configurations ...