【寒假每日一题】AcWing 4652. 纸张尺寸

简介: 目录一、题目1、原题链接2、题目描述二、解题报告1、思路分析2、时间复杂度3、代码详解

一、题目

1、原题链接

4652. 纸张尺寸 - AcWing题库


2、题目描述

在 ISO 国际标准中定义了 A0纸张的大小为 1189mm×841mm,将 A0纸沿长边对折后为 A1 纸,大小为 841mm×594mm,在对折的过程中长度直接取下整(实际裁剪时可能有损耗)。


将 A1纸沿长边对折后为 A2 纸,依此类推。


输入纸张的名称,请输出纸张的大小。


输入格式


输入一行包含一个字符串表示纸张的名称,该名称一定是 A0、A1、A2、A3、A4、A5、A6、A7、A8、A9 之一。


输出格式


输出两行,每行包含一个整数,依次表示长边和短边的长度。


输入样例1:


A0

输出样例1:


1189

841

输入样例2:


A1

输出样例2:


841

594


二、解题报告

1、思路分析

1)因为只有九种情况,所以而且每个输入样例都是以A开头,所以定义一个字符变量就行,没必要弄成字符串,以免后续还需将字符串转为整型。


2)因为是向下取整,所以正好符合整型数据的除法,综上,为输入的字符A定义一个字符变量,来存它的值,为输入的数字定义一个整型变量,来存它的值。


3)由题意可知推出,A几就将A0折叠几次。


4)每次都是折叠最长边,所以,每次折叠完以后,要始终存长边的变量存成两个值中的较大的值。


5)结束循环后,输出长边和短边。


2、时间复杂度

时间复杂度为O(n)


3、代码详解

#include <iostream>

using namespace std;

int main()

{  char A;

  int num;

  cin>>A>>num;

  int l=1189,w=841;

  for(int i=0;i<num;i++){

     l/=2;

     if(l<w){

      swap(l,w);

  }

  }

  cout<<l<<endl<<w;

  return 0;

}

目录
相关文章
蓝桥杯:2021省赛 例题:时间显示
蓝桥杯:2021省赛 例题:时间显示
52 0
|
4月前
【编程题-错题集】kotori和气球(组合数学)
【编程题-错题集】kotori和气球(组合数学)
|
4月前
蓝桥杯真题代码记录(纸张尺寸
蓝桥杯真题代码记录(纸张尺寸
23 0
|
数据采集 算法 数据挖掘
【每周一坑】螺旋矩阵
今天这题,看起来挺简单,实际写出来并不容易。在以前公司我曾把它做过招聘的笔试题,结果惨不忍睹,不得不拿掉。
【每周一坑】螺旋矩阵
|
12月前
|
C++
蓝桥杯 2240. 买钢笔和铅笔的方案数c++解法
蓝桥杯 2240. 买钢笔和铅笔的方案数c++解法
110 0
【AcWing每日一题】4261. 孤独的照片
【AcWing每日一题】4261. 孤独的照片
64 0
|
移动开发
【寒假每日一题】AcWing 4261. 孤独的照片(补)
文章目录 一、题目 1、原题链接 2、题目描述 二、解题报告 1、思路分析 2、时间复杂度 3、代码详解
77 0
LeetCode每日一题——790. 多米诺和托米诺平铺
有两种形状的瓷砖:一种是 2 x 1 的多米诺形,另一种是形如 “L” 的托米诺形。两种形状都可以旋转。
112 0
LeetCode每日一题——790. 多米诺和托米诺平铺