首页 > 其他分享 >GESP5级 2024 9 7 T2 解析 <全网首发>

GESP5级 2024 9 7 T2 解析 <全网首发>

时间:2024-09-15 14:26:11浏览次数:11  
标签:物理攻击 int T2 血量 2024 测试用例 3.2 怪物 GESP5

题目

3.2 编程题 2 试题名称:挑战怪物

时间限制:1.0 s

内存限制:512.0 MB

3.2.1 题面描述 小杨正在和一个怪物战斗,怪物的血量为 ,只有当怪物的血量恰好为 时小杨才能够成功击败怪物。 小杨有两种攻击怪物的方式:

        1.物理攻击。假设当前为小杨第 次使用物理攻击,则会对怪物造成 点伤害。

        2. 魔法攻击。小杨选择任意一个质数 ( 不能超过怪物当前血量),对怪物造成 点伤害。由于小杨并不擅长魔 法,他只能使用至多一次魔法攻击。 小杨想知道自己能否击败怪物,如果能,小杨想知道自己最少需要多少次攻击。

3.2.2 输入格式 第一行包含一个正整数 ,代表测试用例组数。 接下来是 组测试用例。对于每组测试用例,第一行包含一个正整数 ,代表怪物血量。

3.2.3 输出格式 对于每组测试用例,如果小杨能够击败怪物,输出一个整数,代表小杨需要的最少攻击次数,如果不能击败怪物, 输出 。

样例输入1

        3

        6

        188

        9999

样例输出1

        2

        4

        -1

3.2.4 样例1 对于第一组测试用例,一种可能的最优方案为,小杨先对怪物使用魔法攻击,选择质数 造成 点伤害,之后对怪 物使用第 次物理攻击,造成 点伤害,怪物血量恰好为 ,小杨成功击败怪物。

/CODE/

#include<bits/stdc++.h>
using namespace std;
bool prime[100000];
void fi(int n){
//    cout<<1<<endl;
    prime[0]=prime[1]=false;
    for( int i=2;i<n;i++ )prime[i]=1;
    for( long long i=2;i<n;i++ ){
        if( prime[i]&&i*i>n )continue;
        for( int j=i*i;j<=n;j+=i ){
            prime[j]=false;
        }
    }
}
int main(){
    fi(10000);
    int t;
    cin>>t;
    while(t--){
        int x;
        cin>>x;
        int tx=1;
        int ans=0;
        while(true){
//            cout<<"ans:"<<ans<<endl;
            if( prime[x] ){
                ans++;
                x-=prime[x];
                break;
            }
            x-=tx;
            ans++;
            if( x==0 ){
//            cout<<"YES"<<endl;
                cout<<ans<<endl;
                break;
            }else if( x<0 ){
//            cout<<"NO"<<endl;
                cout<<-1<<endl;
                break;
            }
            tx*=2;
        }
//        cout<<ans<<endl;
    }
    return 0;
}

标签:物理攻击,int,T2,血量,2024,测试用例,3.2,怪物,GESP5
From: https://blog.csdn.net/austinchr3377/article/details/142255611

相关文章

  • 2024.9.15 NOIP2024#6模拟赛
    不怎么模拟的模拟赛。比赛界面吐槽以IOI赛制来模拟OI赛事,\(jzyz\)真难绷。暴力有点难打,纯暴力(全排列)等拿的分少。不会写(我太蒻了)。\(T4\)暴力让我怒砍\(\textcolor{#ecdb44}{65pts}\)。文件\(IO\)是开考后加的。跟新高二打打了个倒数,压迫感略强。看了\(1h\)......
  • idea2024.2永久使用
    废话不多说,先上图亲测有效IDEA安装步骤官网下载:https://www.jetbrains.com/idea/download/  版本idea2024.2双击下一步安装完成工具使用说明出现这个界面就ok啦,大功告成,可以愉快的玩耍啦......
  • 2024-06-02 矩阵重塑2
    include<bits/stdc++.h>usingnamespacestd;constintmaxn=1e4+1;intmar[maxn];voidtmar(intmar[],constintn,constintm){intmat[n+1][m+1],mat1[m+1][n+1];inti,j;for(i=1;i<=n;i++){for(j=1;j<=m;j++){mat[i][j]=mar[(i-1)*m+j];}}for(......
  • xyctf2024 pwn
    helloworldchecksec大多保护都开启了main函数int__fastcallmain(intargc,constchar**argv,constchar**envp){charbuf[20];//[rsp+0h][rbp-20h]BYREFinit();printf("%s","pleaseinputyourname:");read(0,buf,0x48uLL);p......
  • ACCT20077 – ACCOUNTING FOR MANAGEMENT DECISION
    PracticequestionsforFinalAssessmentACCT20077–ACCOUNTINGFORMANAGEMENTDECISIONMAKINGPARTA–DISCUSSIONQUESTION(25MARKS)Youarethemanagerofadepartmentinalargeorganization.Yourcompany’sprimarybusinessistomanufactureschooldes......
  • 高级java每日一道面试题-2024年9月12日-架构篇[DDD领域驱动篇]-如何使用领域驱动设计(D
    如果有遗漏,评论区告诉我进行补充面试官:如何使用领域驱动设计(DDD)中的事务脚本模式?我回答:在Java高级面试中,讨论如何使用领域驱动设计(DDD)中的事务脚本模式是一个很好的话题,因为它不仅考察了面试者对DDD原则的理解,还检验了其在实际项目中应用这些原则的能力。事务脚本模......
  • 【2024研赛】【华为杯】2024 年研究生数学建模比赛思路、代码更新中.....
    ......
  • 2024年金典Java面试八股文
    1、什么是自动拆装箱 int和Integer有什么区别   难度系数:⭐基本数据类型,如int,float,double,boolean,char,byte,不具备对象的特征,不能调用方法。装箱:将基本类型转换成包装类对象拆箱:将包装类对象转换成基本类型的值java为什么要引入自动装箱和拆箱的功能?主要是用于jav......
  • 2024.09.14小红书
    1.小红的文章匹配小红书的第i篇文章有一个点赞数ai。小红认为,如果两篇不同的文章满足:点赞数通过位异或运算恰好得到k,那么这两篇文章是相似文章,即aixoraj=k。现在小红收集到了n篇文章的点赞数,请帮助她计算出有多少对(i,j)是相似文章。输入描述第一行输入两个整数n......
  • 【专题】2024新能源企业“出海”系列之驶向中东、东南亚报告合集PDF分享(附原数据表)
    原文链接: https://tecdat.cn/?p=37698在“双碳”目标引领下,中国新能源产业近年迅猛发展,新能源企业凭借技术革新、政策支持与市场驱动实现快速增长,在产业链完备、技术领先、生产效能及成本控制等方面优势显著。面对国内外环境不确定性增强的常态化态势,中国新能源企业积极开拓海外......