Week 11 必做题

2023-05-16

文章目录

    • 11-1题目描述
    • 样例
    • 思路
    • 代码
    • 11-2题目描述
    • 样例
    • 思路
    • 代码
    • 11-3题目描述
    • 样例
    • 思路
    • 代码
    • 11-4题目描述
    • 样例
    • 思路
    • 代码

11-1题目描述

蒜头君从现在开始工作,年薪 N 万。他希望在蒜厂附近买一套 60平米的房子,现在价格是 200万。假设房子价格以每年百分之 K增长,并且蒜头君未来年薪不变,且不吃不喝,不用交税,每年所得 N万全都积攒起来,问第几年能够买下这套房(第一年年薪 N万,房价 200万)

样例

Input

一行,包含两个正整数 N(10≤N≤50),K(1≤K≤20),中间用单个空格隔开。

Output

如果在第 20 年或者之前就能买下这套房子,则输出一个整数 M,表示最早需要在第 M 年能买下;否则输出"Impossible"。

样例输入

50 10

样例输出

8

思路

线性函数求焦点问题,根据房价每年的增长,判断20年内哪一年的总收入大于当年房价

代码

#include <iostream>
using namespace std;

int n, k;

int main()
{
	cin>>n>>k;
	double index=200;
	for(int i=1;i<=20;i++)
	{
		if(i*n>=index)
		{
			cout<<i<<endl;
			return 0;
		}
		
		index=index*(1+(double)k/100);
	}
	cout<<"Impossible"<<endl;
	
 }

11-2题目描述

蒜头君的班级里有 n*n 个同学,现在全班同学已经排列成一个 n∗n 的方阵,但是老师却临时给出了一组新的列队方案为了方便列队,所以老师只关注这个方阵中同学的性别,不看具体的人是谁这里我们用 0 表示男生,用 1 表示女生
现在蒜头君告诉你同学们已经排好的方阵是什么样的,再告诉你老师希望的方阵是什么样的
他想知道同学们已经列好的方阵能否通过顺时针旋转变成老师希望的方阵
不需要旋转则输出
0
顺时针旋转 90° 则输出
1
顺时针旋转 180° 则输出
2
顺时针旋转 270° 则输出
3
若不满足以上四种情况则输出
−1
若满足多种情况,则输出较小的数字

样例

Input

第一行为一个整数 n
接下来的 n行同学们已经列好的 01方阵;
再接下来的 n行表示老师希望的的 01方阵。

Output

输出仅有一行,该行只有一个整数,如题所示。

样例输入

4
0 0 0 0
0 0 0 0
0 1 0 0
0 0 0 0
0 0 0 0
0 1 0 0
0 0 0 0
0 0 0 0

样例输出

1

思路

judge()函数判断当前学生的方阵和老师希望的是否一样,如果不一样使用trans()函数对当前方阵进行顺时针旋转,旋转的对应规则为:旋转前坐标为(i,j)旋转后坐标为(j,n-i-1)如果旋转四次均不能变为老师期望的方阵,那么输出-1

代码

#include <iostream>
using namespace std;

int n;
int stu[20][20];
int tea[20][20];
int flag=-1;

bool judge()
{
	for(int i=0;i<n;i++)
	{
		for(int j=0;j<n;j++)
		{
			if(stu[i][j]!=tea[i][j])
				return 0;;
		}
	}
	return 1;
}

void trans()
{
	int temp[20][20];
	
	for(int i=0;i<n;i++)
	{
		for(int j=0;j<n;j++)
			temp[j][n-i-1]=stu[i][j];
	}
	
	for(int i=0;i<n;i++)
	{
		for(int j=0;j<n;j++)
			stu[i][j]=temp[i][j];
	}
}

int main()
{
	cin>>n;
	
	for(int i=0;i<n;i++)
	{
		for(int j=0;j<n;j++)
			cin>>stu[i][j];
	}
	
	for(int i=0;i<n;i++)
	{
		for(int j=0;j<n;j++)
			cin>>tea[i][j];
	}
	
	for(int i=0;i<4;i++)
	{
		if(judge())
		{
			flag=i; break;
		}
			
		trans();	
	}
	
	cout<<flag<<endl;	
}

11-3题目描述

Julius Caesar 曾经使用过一种很简单的密码。对于明文中的每个字符,将它用它字母表中后 55 位对应的字符来代替,这样就得到了密文。比如字符’A’用’F’来代替。如下是密文和明文中字符的对应关系。

密文 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

明文 V W X Y Z A B C D E F G H I J K L M N O P Q R S T U

你的任务是对给定的密文进行解密得到明文。

你需要注意的是,密文中出现的字母都是大写字母。密文中也包括非字母的字符,对这些字符不用进行解码。

样例

Input

一行,给出密文,密文不为空,而且其中的字符数不超过 200200。

Output

输出一行,即密文对应的明文。
输出时每行末尾的多余空格,不影响答案正确性

样例输入

NS BFW, JAJSYX TK NRUTWYFSHJ FWJ YMJ WJXZQY TK YWNANFQ HFZXJX

样例输出

IN WAR, EVENTS OF IMPORTANCE ARE THE RESULT OF TRIVIAL CAUSES

思路

输入的密文可能为一句话(有空格),使用getline进行输入,对于输入的密文中的每一个字母,将其ACII码减5,需要注意的是,字母减5不要超出范围

代码

#include <iostream>
#include <string>
using namespace std;

string s;

int main()
{
	getline(cin,s);
	int n=s.size();
	for(int i=0;i<n;i++)
	{
		if(s[i]>='A'&&s[i]<='Z')
			s[i]=(s[i]-'A'+21)%26+'A';
	}
	
	cout<<s<<endl;
}

11-4题目描述

东东和他的女朋友(幻想的)去寿司店吃晚餐(在梦中),他发现了一个有趣的事情,这家餐厅提供的 n 个的寿司被连续的放置在桌子上 (有序),东东可以选择一段连续的寿司来吃

东东想吃鳗鱼,但是东妹想吃金枪鱼。核 平 起 见,他们想选择一段连续的寿司(这段寿司必须满足金枪鱼的数量等于鳗鱼的数量,且前一半全是一种,后一半全是另外一种)我们用1代表鳗鱼,2代表金枪鱼。

比如,[2,2,2,1,1,1]这段序列是合法的,[1,2,1,2,1,2]是非法的。因为它不满足第二个要求。

东东希望你能帮助他找到最长的一段合法寿司,以便自己能吃饱。

样例

Input

第一行:一个整数n(2≤n≤100000),寿司序列的长度。
第二行:n个整数(每个整数不是1就是2,意义如上所述)

Output

一个整数(代表东东可以选择的最长的一段连续的且合法的寿司)

样例输入1

7
2 2 2 1 1 2 2

样例输出1

4

样例输入2

6
1 2 1 2 1 2

样例输出2

2

样例输入3

9
2 2 1 1 1 2 2 2 2

样例输出3

6

思路

sum[]数组记录的是当前1和2的连续长度,index表示记录当前的连续长度的目标元素(为1或2),如果1、2中最小的连续长度大于当前最大连续长度,更新ans,并且更新当前的index,直至数组遍历完成

代码

#include <iostream>
using namespace std;
int n;
int a[100010];
int sum[2];
int ans;

int main()
{
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		cin>>a[i];
	}
	int index=a[1];
	int i=1;
	while(i<=n)
	{
		while(a[i]==index)
		{
			sum[a[i]-1]++;
			i++;
		}
		
		ans=max(ans,2*min(sum[0],sum[1]));
		sum[a[i]-1]=0;
		index=a[i];	
	}
	cout<<ans<<endl;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Week 11 必做题 的相关文章

随机推荐

  • vim的vimrc配置

    windows 34 modified by Neoh set helplang 61 cn 34 使用中文帮助文档 set encoding 61 utf 8 34 查看utf 8格式的帮助文档 set fileencodings 61
  • C++线程同步——阻塞线程的方法

    一般 xff0c 使线程阻塞我们可以使用 while condition for condition 等循环条件使之线程内语句执行在循环处无法向下继续执行 xff0c 但这样并不是真正意义上的线程阻塞 xff0c 当前线程仍然在执行 xff
  • 利用爬虫爬取游戏网站图片和信息并生成词云图

    一 项目简介 1 1 本项目博客地址 xff1a 1 2 项目完成的功能与特色 功能 xff1a 爬取目标游戏网站的皮肤图片及信息并用爬取的信息生成词云图 特色 xff1a 将爬取的信息做简单的处理 xff0c 并将爬取的图片直接保存在文件
  • Debian搭建FTP服务器及Caddy网站并上传

    Debian搭建FTP服务器及Caddy网站并上传 安装配置FTP1 安装2 查看网络服务状态3 配置vsftpd 安装配置Caddy1 安装Caddy2 配置Caddy 上传网站到服务器疑难解决 参考 安装配置FTP 首先用SSH方式连接
  • linux 软件安装

    linux 软件安装 yum xff1a 软件包管理工具 命令格式 xff1a yum options command command 列表 List of Commands check 检查 RPM 数据库问题 check update
  • POJ2823 滑动窗口 (单调队列)

    题目 来学习一下单调队列 xff1a 他只可以从队尾入队 xff0c 但可以从队尾或队首出队 xff0c 来维护队列的单调性 单调队列有两种单调性 xff1a 元素的值单调和元素的下标单调 单调队列可以用来优化DP 状态转移方程形如dp i
  • docker swarm 使用说明

    docker swarm 使用说明 swarm 命令 xff1a 管理集群 docker swarm command root 64 centos docker swarm help Usage docker swarm COMMAND M
  • SQL处理json数据

    通过sql语句提取json字符串中的数据 1 示例数据 CREATE TABLE 96 json test 96 96 id 96 int NOT NULL COMMENT 39 主键ID 39 96 json str 96 longtex
  • 【一步到位】sublime 配置C/C++环境

    sublime 配置C 43 43 环境 1 找到MinGW64 bin路径2 配置环境变量3 sublime新建Build System4 运行 1 找到MinGW64 bin路径 复制完整路径 2 配置环境变量 xff08 1 xff0
  • docker mysql8使用SSL及使用openssl生成自定义证书

    docker安装MySQL8 修改my cnf vi span class token operator span docker data mysql conf my span class token punctuation span cn
  • springboot连接MySQL使用SSL证书

    安装java jdk 检查是否已安装JDK yum list installed span class token operator span span class token function grep span span class t
  • HTML(五):图片、超链接

    图片 一 图片标签 日常浏览网页中 xff0c 在一个页面中会有文字 图片 音频等等 xff0c 一般一个页面想要获取更多流量 xff0c 一般通过 图文并茂 这一维度进行挖掘 在HTML中 xff0c 使用img标签来表达显示一张图片 对
  • Maven打包提示dependencies.dependency.systemPath错误

    Maven打包提示dependencies dependency systemPath错误 具体信息如下 xff1a Some problems were encountered span class token keyword while
  • macbook桌面的文件突然消失的解决方案

    macos系统的的桌面文件突然间消失的解决方案 原因 有一天就突然发现我电脑桌面上的文件突然就不见了 xff0c 但是commad 43 空格键唤醒聚焦搜索 xff0c 搜索文件又能够找到我所消失的文件 xff0c 并且如果把原有的文件再一
  • 【cmake】搭配vcpkg的manifest模式实现自动安装第三方库

    cmake搭配vcpkg的manifest模式实现自动安装包 好处 类似于pip的requirements 你只需要指定该项目的依赖库 xff0c 就会自动运行vcpkg为你安装所有的依赖库 并且安装在当前项目build下面 这些第三方库与
  • python安装surprise库总是失败

    python安装surprise库缺乏组件的解决办法 1 背景 xff1a 2 明确问题3 找到资源包4 问题解决5 总结 1 背景 xff1a 在做一个用到django框架做音乐的推荐时 xff0c 由于要用到SVD算法 xff0c 需要
  • 通讯网络

    题面 Description 北极的某区域共有n座村庄 xff0c 每座村庄的坐标用一对整数 x y 表示 为了加强联系 xff0c 决定在村庄之间建立通讯网络 通讯工具可以是无线电收发机 xff0c 也可以是卫星设备 所有的村庄都可以拥有
  • Linux主机密码暴力破解

    一 目的 针对Linux主机SSH协议暴力破解过程以及漏洞原理和修复方式详细介绍 二 漏洞介绍 2 1 漏洞原因 由于主机用户没有设置密码或者设置了linux弱密码 xff0c 且未对主机设置严格的基线加固策略 xff0c 导致恶意攻击者可
  • CCF CSP认证201809-3 元素选择器

    201809 3 元素选择器 题目 思路 多级查询需要用到树形结构 xff0c 详见代码 AC代码如下 span class token macro property span class token directive keyword i
  • Week 11 必做题

    文章目录 11 1题目描述样例思路代码11 2题目描述样例思路代码11 3题目描述样例思路代码11 4题目描述样例思路代码 11 1题目描述 蒜头君从现在开始工作 xff0c 年薪 N 万 他希望在蒜厂附近买一套 60平米的房子 xff0c