2020蜀山区,分数线230

|--------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------|------|----|---|
| Accepted | P2635 平均年龄 | 1263 | 31 | 6 |
| Accepted | P2636 解密 | 2093 | 26 | 5 |
| Accepted | P2637 数字游戏(number) | 2791 | 9 | 5 |
| Accepted | P2638 寻宝 | 1828 | 26 | 5 |

平均年龄

1000ms 256MB

题目描述

新学期开学了,学校要统计各班同学的年龄,小莹莹班上有若干名学生,现在给出每名学生的年龄(整数),要统计班上所有学生的平均年龄(四舍五入取整)。

输入格式

第一行有一个整数 n(1≤n≤100) ,表示学生的人数。其后 n 行每行有 1 个整数,表示每个学生的年龄,取值为 8 到 25。

输出格式

输出一行,该行包含一个整数,为要求的平均年龄(四舍五入取整)。

样例

输入#1

2
8
10

输出#1

9

题解:

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;
int  main()
{
    int n,a;
    float s=0;
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        cin>>a;
        s=s+a;
    }
    s=s/n;
    cout<<round(s);
}

解密

1000ms 256MB

题目描述

亶亶最近在学习计算机密码学,密码学是一门古老而又年轻的学问,计算机科学的兴起给密码学注入了新的活力。在网络、通信技术高度发达的今天,计算机安全和保密问题显得越来越重要。菅董在学习过程中遇到了这样一个任务:解密一份被加密过的文件。经过研究,莹萱发现了加密文件有如下加密规律(括号中是一个"原文->密文"的例子)

(1)原文中所有的字符都在字母表中被循环左移了三个位置(dec ->abz)

(2)逆序存储(abcd -> dcba )

(3)字母大小写反转(abXY ->ABxy)

输入格式

一个加密的字符串。(长度大于1且小于50且只包含大小写字母)

输出格式

输出解密后的字符串。

样例

输入#1

Helloworld

输出#1

GOURZROOHk

题解:

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;
int main()
{
    string s;
    cin >> s;
    for(int i=0;i<s.size();i++) //向右移动
    {
        if((s[i]<='Z'&&s[i]+3>'Z') || (s[i]<='z'&&s[i]+3>'z'))
        {
            s[i]=s[i]-26;
        }
        s[i]+=3;
    }
    string a;
    for(int i=0;i<s.size();i++) //逆序+大小写转换
    {
        char t = s[s.size()-1-i];
        if(t>='A'&&t<='Z') t+=32;
        else t-=32;
        a.push_back(t);
    }
    cout<<a;
}

数字游戏(number)

1000ms 256MB 展开

题目描述

小莹莹刚学习完约数的知识,一个数的约数指能整除这个数的正整数。周末,小莹莹和几个朋友一起玩耍,刚学习完约数知识的小莹莹迫不及待的想给小朋友们展示一下她的本领,她和几个朋友一起玩起了这样一个游戏:给你一个整数 N,需要算出这个数所有的约数的和。例如 1515 的数有 1,3,5,151,3,5,15。所以 1515 的约数和为 1+3+5+15=241+3+5+15=24。

输入格式

本题有多组数据,第一行一个 T,表示有 T 组数据;

下面 T 行,每行一个正整数 N,表示要处理的数。

输出格式

T 行,每行一个正整数,表示输入中对应的数的约数和。

样例

输入数据#1

1
15

输出数据#1

24

数据范围

  • 对于 20%20%的数据,T=1
  • 对于 50%50%的数据,T≤5000
  • 对于 80%80%的数据,T≤50000
  • 对于 100%100% 的数据,T≤500000,N≤5000000。

题解:

cpp 复制代码
#include <bits/stdc++.h>
using namespace std;
int ddd[5000001];
int main()
{
    ios::sync_with_stdio(0);
    cin.tie(0);
    int t,a;
    cin>>t;
    for(int i=1;i<=t;i++)
    {
        cin>>a;
        if(ddd[a]!=0)
        {
            cout<<ddd[a]<<"\n";
        }
        else
        {
            long long s=0;
            for(int j=1;j*j<=a;j++)
            {
                if(a%j==0)
                {
                    s+=j;
                    if(a/j!=j)
                    {
                        s+=a/j;
                    }
                }
            }
            ddd[a]=s;
            cout<<s<<"\n";
        }
    }
}

寻宝

1000ms 256MB 展开

题目描述

小萱萱参加了一个"寻宝"游戏:

在一排均匀排列的树上,被随机放置了一个"宝贝",看谁能以最少的时间找到这个"宝贝"。每一个寻宝的人开始会站在第 N(0≤N≤100000) 棵树边,假设树有 100001100001 棵,"宝贝"被放在第K(0≤K≤100000) 棵树上,寻宝人有两种移动办法------步行和跳跃。假如寻宝人现在在第 X 棵树边,步行每秒可以从第 X 棵树向第 X−1 棵和第 X+1 棵树走去,跳跃可以让她在 11 秒内从第 X 棵树直接跳到第 2X 棵树边(假如他有超能力完成跳跃,跳跃过程中不能超过树的边界)。

现在要求找到"宝贝"需要的最短时间。

输入格式

仅有两个整数 N 和 K。

输出格式

找到"宝贝"的最短时间。

样例

输入数据#1

5 17

输出数据#1

4

题解:

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;
int mn[1000001];
int main()
{
    int n,k;
    cin>>n>>k;
    if(n>=k)
    {
        cout<<n-k;
        return 0;
    }
    queue<int>a;
    queue<int>b;
    a.push(n);
    b.push(0);
    while(!a.empty()&&!b.empty())
    {
        int da=a.front();
        a.pop();
        int db=b.front();
        b.pop();
        if(da==k)
        {
            cout<<db<<endl;
            return 0; 
        }
        if(da*2<=2*k&&!mn[da*2])
        {
            mn[da*2]=1;
            a.push(da*2);
            b.push(db+1);
        }
        if(da+1<=2*k&&!mn[da+1])
        {
            mn[da+1]=1;
            a.push(da+1);
            b.push(db+1);
        }
        if(da-1>0&&!mn[da-1])
        {
            mn[da-1]=1;
            a.push(da-1);
            b.push(db+1);
        }
    }
}
相关推荐
Dream it possible!1 分钟前
LeetCode 热题 100_LRU 缓存(35_146_中等_C++)(哈希表 + 双向链表)(构造函数声明+初始化列表=进行变量初始化和赋值)
c++·leetcode·缓存
我码玄黄3 分钟前
正则表达式优化之算法和效率优化
前端·javascript·算法·正则表达式
Solitudefire1 小时前
蓝桥杯刷题——day9
算法·蓝桥杯
wkd_0071 小时前
【开源库 | xlsxio】C/C++读写.xlsx文件,xlsxio 在 Linux(Ubuntu18.04)的编译、交叉编译
c语言·c++·xlsxio·c语言读写xlsx·c++读写xlsx·xlsxio交叉编译
三万棵雪松1 小时前
1.系统学习-线性回归
算法·机器学习·回归·线性回归·监督学习
Easy数模2 小时前
基于LR/GNB/SVM/KNN/DT算法的鸢尾花分类和K-Means算法的聚类分析
算法·机器学习·支持向量机·分类·聚类
2401_858286112 小时前
117.【C语言】数据结构之排序(选择排序)
c语言·开发语言·数据结构·笔记·算法·排序算法
捕鲸叉2 小时前
C++软件设计模式之类型模式和对象型模式
开发语言·c++·设计模式
thesky1234562 小时前
活着就好20241226
学习·算法
td爆米花2 小时前
C#冒泡排序
数据结构·算法·排序算法