520 钻石争霸赛 2024

前六题难度还可以,从第七题开始上难度了。

因为时间原因,只做出来前七道,从侧面反映还是能力欠缺

总结来说,三个字,太菜了!


520-1 爱之恒久远

在 520 这个特殊的日子里,请你直接在屏幕上输出:Forever and always

输入格式:

本题没有输入。

输出格式:

在一行中输出 Forever and always

输入样例:

输出样例:

Forever and always

Python3

print("Forever and always")

 520-2 良辰吉日

lcjr.jpg

万事都讲究“吉利”二字,挑选一个良辰吉日对结婚来说更是至关重要。婚礼日期的选择有非常多的讲究,这里我们只论最简单的一条:选双日,讲究“好事成双”。
“双日”指两种日期均为偶数的日子。两种日期是指每个月的第 x 天、每周的第 y 天。
现给定一对新人都有空的日期 x 和 y,请你写程序判断一下是不是双日。

输入格式:

输入在一行中给出一对整数 x 和 y,其中 1≤x≤31,1≤y≤7。

输出格式:

如果输入是一个双日,在一行中输出 x y ^_^!;否则输出 x y -_-。其中 x 和 y 是输入的 x 和 y 的值。

输入样例 1:

2 4

输出样例 1:

2 4 ^_^!

输入样例 2:

26 7

输出样例 2:

26 7 -_-

C++ 

#include<iostream>
using namespace std;
int main(){
    int x,y;
    cin>>x>>y;
    if(x % 2 == 0 && y % 2 == 0)
        cout<<x<<" "<<y<<" ^_^!"<<endl;
    else
        cout<<x<<" "<<y<<" -_-"<<endl;
    return 0;
}

520-3 记小本本 

jc.jpg

小情侣吵架拌嘴是很正常的事情,但拿小本本记下来就不好了,应该写个程序自动记……
本题的要求比较简单,只是统计吵架次数而已。姥姥给小情侣们做红色、绿色两个按钮,每次吵架就按红色按钮,想知道已经吵了多少次了就按绿色按钮。你就来实现这两个按钮的功能。

输入格式:

输入由一系列 0 和 1 组成,每个数字占一行。1 代表红色按钮被按下,0 代表绿色按钮被按下。当出现任何一个既不是 0 也不是 1 的数字时,表示他们把电源线扯断了,输入结束,最后那个数字不要处理。

输出格式:

对每一个输入的 0,在一行中输出这次按下绿色按钮之前一共吵了多少次架。
题目保证每个输出的数字均不超过 10^{4}

输入样例:

1
1
1
0
1
1
0
1
2

输出样例:

3
5

C++ 

#include<iostream>
using namespace std;
int sum;
int main(){
    int n;
    while(cin>>n && (n == 0 || n == 1)){
        if(n == 1)
            sum++;
        else
            cout<<sum<<endl;
    }
    return 0;
}

520-4 土味情话但数学 

twqh.jpg


土味情话是指那些听起来比较俗气、比较接地气的情话,通常用于表达爱情或亲密关系。以下是一些土味情话的例子:

  • 我发现你今天有点怪,为什么?怪可爱的。
  • 我是 9 你是 3,除了你还是你。
  • 可以帮我洗个东西吗?洗什么?喜欢我。
  • 我 1 点也不想你,1 点半再想。
  • 1 对 0 说,我除了你,一切都没有意义
  • ……

喜欢数学的人对数字特别敏感,下面就请你从一大堆土味情话中,把那些带数字的情话挑出来。

输入格式:

输入首先在第一行给出一个正整数 n(≤100),是土味情话的条数。随后 n 行,每行(以回车结束)给出一句土味情话。用汉语拼音给出的土味情话由不超过 100 个数字、中文字的汉语拼音、标点符号组成,相邻两字间以标点符号或/和 1 个空格分隔,每个字的拼音长度不超过 5 个小写英文字母,数字为不超过 100 的非负整数。题目保证每句土味情话都不是空话(至少有一个字的拼音或数字)。

输出格式:

按照输入的顺序,原样输出那些句子中带数字的土味情话。如果完全没有带数字的句子,则输出 Not interesting.

输入样例 1:

5
wo fa xian ni jin tian you dian guai, wei shen me? guai ke ai de.
wo shi 9 ni shi 3, chu le ni hai shi ni.
ke yi bang wo xi ge dong xi ma? xi shen me? xi huan wo.
wo 1 dian ye bu xiang ni, 1 dian ban zai xiang.
1 dui 0 shuo, wo chu le ni, yi qie du mei you yi yi.

输出样例 1:

wo shi 9 ni shi 3, chu le ni hai shi ni.
wo 1 dian ye bu xiang ni, 1 dian ban zai xiang.
1 dui 0 shuo, wo chu le ni, yi qie du mei you yi yi.

输入样例 2:

2
wo fa xian ni jin tian you dian guai, wei shen me? guai ke ai de.
ke yi bang wo xi ge dong xi ma? xi shen me? xi huan wo.

输出样例 2:

Not interesting.

C++ 

#include<iostream>
#include<cstring>
using namespace std;
bool t;
int main(){
    int n;
    cin>>n;
    string s;
    getchar();
    while(n--){
        getline(cin,s);
        for(int i = 0;i<s.size();i++)
            if(s[i] >= '0' && s[i] <= '9')
            {
                cout<<s<<endl;
                t = true;
                break;
            }
    }
    if(t == false)
        cout<<"Not interesting."<<endl;
    return 0;
}

520-5 婚礼上的游戏 

wedding.jpg

姥姥在劳动节假期出席了八云学长的婚礼,婚礼上有一个小游戏比较适合拿来出题,于是就有了这个题目。
在游戏中,主持人手举一个计时器,递给参与游戏的宾客一个红色按钮,按下后计时器上的数字就开始以每厘秒一个数字的速度跳动。宾客要在最接近 3 秒(即 300 厘秒)的时刻再次按下按钮,停止计时。停止的时刻最接近 300 厘秒的宾客获得大奖。
姥姥记录了所有宾客们玩这个游戏的成绩,下面就请你统计一下,有多少人获得了大奖。

输入格式:

输入首先在第一行给出一个正整数 n(≤1000),是参与游戏的宾客数量。随后 n 行,每行给出一位宾客的计时结果,是以厘秒为单位,在区间 [100,500] 内的整数。

输出格式:

输出获得大奖的宾客人数,即计时结果最接近 300 厘秒的并列人数。

输入样例:

5
157
298
302
303
325

输出样例:

2

C++ 

#include<iostream>
#include<cmath>
#include<algorithm>
using namespace std;
int r = 300;
int temp = 1000;
int sum;
int main(){
    int n,x;
    cin>>n;
    while(n--){
        cin>>x;
        if(abs(r - x) < temp){
            temp = abs(r - x);
            sum = 0;
            sum++;
        }
        else if(abs(r - x) == temp) sum++;
    }
    cout<<sum<<endl;
}

 520-6 借贷还是赠予

jdzy.jpg

每逢 520 这类日子,许多情侣之间会转账 520 元、1314 元等金额,尤其是热恋期,双方对花费不太计较,但一旦感情破裂,经济纠纷随之而来。日常生活中,情侣间的转账是借款还是赠与?法官认为,“1314”、“520”等对男女朋友关系具有特殊含义的金额,应认定为赠与。
现给定一个情侣特殊数字的集合,对于某人的转账清单,请你标记出哪些是赠予,哪些是借贷。

输入格式:

输入首先在第一行给出一个正整数 n(≤10^{3}),是情侣特殊数字的数量。随后一行给出 n 个不超过 104 的正整数。
接下来一行给出一个正整数 m(≤10^{3}),是转账记录的条数。随后一行给出 m 个不超过 10^{9}的转账金额。

输出格式:

按照输入的顺序处理转账金额,每个处理结果占一行。对于每个转账金额,如果其是情侣特殊数字集合中的数字,就在对应行中输出 ZengYu,否则输出 JieDai

输入样例:

4
1314 521 2199 520
10
10 12345678 520 2200 233 2199 1314 666 888 521

输出样例:

JieDai
JieDai
ZengYu
JieDai
JieDai
ZengYu
ZengYu
JieDai
JieDai
ZengYu

C++ 

#include<iostream>
#include<map>
using namespace std;
map<int,int> mp;
int main(){
    int n,t;
    cin>>n;
    for(int i = 0;i<n;i++)
    {
        cin>>t;
        mp[t] = 1;
    }
    int m;
    cin>>m;
    while(m--){
        cin>>t;
        if(mp[t] == 1)
            cout<<"ZengYu"<<endl;
        else
            cout<<"JieDai"<<endl;
    }
    return 0;
}

520-7 静待缘分 

yf.jpg

如果有这样两个整数 x 和 y,它们的和、差、积、商之和正好等于某个正整数 N,则它们就是一对缘分到了 N 级的数。

本题给定任一正整数 N,请你找出所有缘分到了 N 级的数。

注:解题过程中可能用到的一元二次方程ax^{2} + bx + c = 0a\neq0)的求根公式为:x = -b +(-)\sqrt{b^{2} - 4ac} /2a

提示:如果 (x,y) 是一对缘分到了 N 级的数,则 x/y 一定是整数。

输入格式:

输入在一行中给出正整数 N(≤10^{6})。

输出格式:

如果存在满足要求的一对缘分到了 N 级的数 (x,y),则在一行中输出。格式为:

(x, y)

如果达到这个级别缘分的数字有有多对,则按照 x 的递增序输出。

输入样例:

27

输出样例:

(-54, -2)
(-12, -4)
(6, 2)

C++ 

#include<iostream>
#include<cmath>
#include<algorithm>
#include<map>
using namespace std;
map<int,int> mp;
int main(){
    int n;
    cin>>n;
    for(int i = 1;i<=n;i++)
        if(n % i == 0 && (n / i ==int(sqrt(n / i)) * int(sqrt(n / i))))
        {
            int y = -1 + sqrt(n / i);
            int x = i * y;
            mp[x] = y;
            y = -1 - sqrt(n / i);
            x = i * y;
            mp[x] = y;
        }
    for(auto it : mp){
        if(it.second == 0) continue;
        cout<<"("<<it.first<<", "<<it.second<<")"<<endl;
    }
    return 0;
}

 

  • 41
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值