CSDN竞赛第32期题解

1、题目名称:传奇霸业

传奇霸业,是兄弟就来干。 小春(HP == a)遇到了一只黄金哥布林(HP == x)。 小春每次能对哥布林造成b点伤害,哥布 林每次能对小春造成y点伤害。 作为玩家的小春怎么可能随便让哥布林打死呢!他有治疗神药,每次能恢复c点HP。 HP无 上限。 小春需要操作多少次才能打死哥布林?(治疗+攻击)

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
const int N=1e3+5,M=2e4+5,inf=0x3f3f3f3f,mod=1e9+7;
const int hashmod[4] = {402653189,805306457,1610612741,998244353};
#define mst(a,b) memset(a,b,sizeof a)
#define db double
#define PII pair<int,int>
#define PLL pair<ll,ll>
#define x first
#define y second
#define pb emplace_back
#define SZ(a) (int)a.size()
#define all(a) a.begin(),a.end()
#define VI vector<int>
#define rep(i,a,b) for(int i=a;i<=b;++i)
#define per(i,a,b) for(int i=a;i>=b;--i)
#define IOS ios::sync_with_stdio(false),cin.tie(nullptr)
void Print(int *a,int n){for(int i=1;i<n;i++)
printf("%d ",a[i]);
printf("%d\n",a[n]);
}
template <typename T> //x=max(x,y) x=min(x,y)
void cmx(T &x,T y){if(x<y) x=y;
}
template <typename T>
void cmn(T &x,T y){if(x>y) x=y;
}
int main(){int a,b,c;cin>>a>>b>>c;
int x,y;cin>>x>>y;
int cnt = 0;
while(x>0){if(a>0){x-=b;
cnt++;
}
if(x>0){a-=y;
while(a<=0){a-=y;
a+=c;
cnt++;
}
}
}
cout<<cnt;
return 0;
}

2、题目名称:严查枪火

X国最近开始严管枪火。 像是“ak”,“m4a1”,“skr”。都是明令禁止的。 现在小Q查获了一批违禁物品其中部分是枪支。 小Q想知道自己需要按照私藏枪火来关押多少人。 (只有以上三种枪被视为违法)

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
const int N=1e3+5,M=2e4+5,inf=0x3f3f3f3f,mod=1e9+7;
const int hashmod[4] = {402653189,805306457,1610612741,998244353};
#define mst(a,b) memset(a,b,sizeof a)
#define db double
#define PII pair<int,int>
#define PLL pair<ll,ll>
#define x first
#define y second
#define pb emplace_back
#define SZ(a) (int)a.size()
#define all(a) a.begin(),a.end()
#define VI vector<int>
#define rep(i,a,b) for(int i=a;i<=b;++i)
#define per(i,a,b) for(int i=a;i>=b;--i)
#define IOS ios::sync_with_stdio(false),cin.tie(nullptr)
void Print(int *a,int n){for(int i=1;i<n;i++)
printf("%d ",a[i]);
printf("%d\n",a[n]);
}
template <typename T> //x=max(x,y) x=min(x,y)
void cmx(T &x,T y){if(x<y) x=y;
}
template <typename T>
void cmn(T &x,T y){if(x>y) x=y;
}
int main(){int n;cin>>n;int t=0;
rep(i,1,n){string s;cin>>s;
int ok =0;
if(s=="ak") ok = 1;
if(s=="m4a1") ok = 1;
if(s=="skr") ok = 1;
if(ok) t++;
}
cout<<t;
return 0;
}

3、题目名称:蚂蚁家族

小蚂蚁群是一个庞大的群体,在这个蚂蚁群中有n只小蚂蚁 ,为了保证所有蚂蚁在消息传送的时候都能接收到消息,需要 在他们之间建立通信关系。就是要求小蚂蚁都可以通过多只或者直接联系到其他人。 已知几条小蚂蚁之间有通信关系,请 问还需要再新建至少多少条关系?

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
const int N=1e3+5,M=2e4+5,inf=0x3f3f3f3f,mod=1e9+7;
const int hashmod[4] = {402653189,805306457,1610612741,998244353};
#define mst(a,b) memset(a,b,sizeof a)
#define db double
#define PII pair<int,int>
#define PLL pair<ll,ll>
#define x first
#define y second
#define pb emplace_back
#define SZ(a) (int)a.size()
#define all(a) a.begin(),a.end()
#define VI vector<int>
#define rep(i,a,b) for(int i=a;i<=b;++i)
#define per(i,a,b) for(int i=a;i>=b;--i)
#define IOS ios::sync_with_stdio(false),cin.tie(nullptr)
void Print(int *a,int n){for(int i=1;i<n;i++)
printf("%d ",a[i]);
printf("%d\n",a[n]);
}
template <typename T> //x=max(x,y) x=min(x,y)
void cmx(T &x,T y){if(x<y) x=y;
}
template <typename T>
void cmn(T &x,T y){if(x>y) x=y;
}
int s[N];
int find(int x){return x==s[x]?x:s[x]=find(s[x]);
}
int main(){int n,m;cin>>n>>m;
rep(i,1,n) s[i] = i;
rep(i,1,m){int u,v;cin>>u>>v;
u=find(u),v=find(v);
if(u!=v){s[u] = v;
}
}
int ans = 0;
for(int i=1;i<=n;i++){if(find(i)==i) ans++;
}
cout<<ans-1;
return 0;
}

4、题目名称:运输石油

某石油公司需要向A、B两地运输石油。两地的需求量不同,而一辆车只能装载一定量的石油。经过计算A地需要a辆车,B 地需要b辆车运输才能满足需求。现在一共有n辆车分布在各地,每辆车前往A、B两地运输石油均可以获得一定不等的利 润。 现在请你安排a辆车前往A地,b辆车前往B地运输石油,使得在满足A、B两地石油需求的前提下,获得最大的利润。 每辆车只能前往一地运输石油。

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
const int N=1e3+5,M=2e4+5,inf=0x3f3f3f3f,mod=1e9+7;
const int hashmod[4] = {402653189,805306457,1610612741,998244353};
#define mst(a,b) memset(a,b,sizeof a)
#define db double
#define PII pair<int,int>
#define PLL pair<ll,ll>
#define x first
#define y second
#define pb emplace_back
#define SZ(a) (int)a.size()
#define all(a) a.begin(),a.end()
#define VI vector<int>
#define rep(i,a,b) for(int i=a;i<=b;++i)
#define per(i,a,b) for(int i=a;i>=b;--i)
#define IOS ios::sync_with_stdio(false),cin.tie(nullptr)
void Print(int *a,int n){for(int i=1;i<n;i++)
printf("%d ",a[i]);
printf("%d\n",a[n]);
}
template <typename T> //x=max(x,y) x=min(x,y)
void cmx(T &x,T y){if(x<y) x=y;
}
template <typename T>
void cmn(T &x,T y){if(x>y) x=y;
}
int s[N];
int find(int x){return x==s[x]?x:s[x]=find(s[x]);
}
int f[N][N];
ll ksm(ll a,ll n,ll m=mod){ll ans=1;
while(n){if(n&1) ans=ans*a%m;
a=a*a%m;
n>>=1;
}
return ans;
}
int main(){int n,a,b;cin>>n>>a>>b;
int x,y;
rep(k,1,n){scanf("%d%d",&x,&y);
for(int i=min(a,k);i>=0;i--){for(int j=min(b,k-i);j>=0;j--){if(j>0&&f[i][j]<f[i][j-1]+y)
f[i][j]=f[i][j-1]+y;
if(i>0&&f[i][j]<f[i-1][j]+x)
f[i][j]=f[i-1][j]+x;
}
}
}
cout<<f[a][b];
return 0;
}

CSDN竞赛第32期题解相关推荐

  1. CSDN竞赛—第六期题解与感想

    CSDN编程竞赛报名地址:https://edu.csdn.net/contest/detail/16 CSDN竞赛-第六期题解与感想 前言/背景 参赛经历 解题思路 经验心得 资料分享 第六期题解 ...

  2. CSDN竞赛—第五期题解与感想

    CSDN竞赛-第五期题解与感想 一.题解 1. 寻因找祖 解题思路 AC代码 题外话 2. 通货膨胀-x国货币 解题思路 AC代码 3. 莫名其妙的键盘 解题思路 参考代码 4. 三而竭 解题思路 A ...

  3. CSDN编程竞赛第32期题解

    CSDN编程竞赛报名地址:https://edu.csdn.net/contest/detail/46 1.  题目名称:传奇霸业 传奇霸业,是兄弟就来干.小春(HP == a)遇到了一只黄金哥布林( ...

  4. 【CSDN竞赛第9期】 Python 题解

    第9期活动帖子:[CSDN竞赛第9期]赢CSDN专属周边和副总裁亲笔签名实体书!-CSDN社区 1.小艺读书 书是人类进步的阶梯. 小艺每周因为工作的原因会选择性的每天多读几页或者少读几页. 小艺想知 ...

  5. 【CSDN竞赛第四期】编程赛后总结与分享

    [CSDN竞赛第四期]编程赛后感 先放成绩:77.5分,除去作弊的人排名**[15/951]** 谈不上满意,毕竟还有可以进步的空间,希望下次更好.下面进入正题: 1.小玉家的电费 [题目描述] 夏天 ...

  6. 剪拼子字符串——常规、另类两种算法解CSDN竞赛第八期第一小题

    [点击此处跳转笔记正文] Python 官网:https://www.python.org/ Free:大咖免费"圣经"教程< python 完全自学教程>,不仅仅是基 ...

  7. CSDN 编程竞赛十九期题解

    竞赛总览 CSDN 编程竞赛十九期:比赛详情 (csdn.net) 竞赛题解 题目1.幼稚班作业 幼稚园终于又有新的作业了.老师安排同学用发给同学的4根木棒拼接成一个三角形.当然按照正常的逻辑,如果不 ...

  8. CSDN 编程竞赛十四期题解

    竞赛总览 CSDN编程竞赛十四期:比赛详情 (csdn.net) 本次竞赛题目难度适中,并且题目的解法(思路)也比较多,很适合新人学习. 竞赛题解 题目1.字符串全排列 对K个不同字符的全排列组成的数 ...

  9. CSDN 编程竞赛二十七期题解

    竞赛总览 CSDN 编程竞赛二十七期:比赛详情 (csdn.net) 四道题都不难,本来十分钟内就可以解决,但是这次竞赛bug比较多,体验不是很好. 竞赛题解 题目1.幸运数字 小艺定义一个幸运数字的 ...

最新文章

  1. todo已完成任务_uTools 插件介绍 | 「todo」!打工人必备
  2. SEO优化---学会建立高转化率的网站关键词库
  3. 机器学习接口和代码之 线性回归
  4. C# WebBrower1控件提示“该文档已被修改,是否保存修改结果”解决方法 .
  5. mono for android mysql_mono for android 自定义titleBar Actionbar 顶部导航栏 修改 样式 学习...
  6. 2021年网生代线上社交行为洞察报告
  7. memcached安装及.NET中的Memcached.ClientLibrary使用详解
  8. 【Flink】运行Flink 1.6.2 程序偶然报错 Premature end of GET request
  9. CAS在Java类中的应用
  10. 跑路了,在国外当程序员有多爽?
  11. 怎么样才能查看别人的IP地址
  12. 科沃斯扫地机器人哪个型号最实用_科沃斯扫地机哪个型号好 三个价位三种选择...
  13. Redis键-值数据库 nosql 数据建模(3)------ 如何存储主从表数据 一对多关系
  14. Git详解之四:服务器上的Git
  15. 【转】性能测试中如何定位性能瓶颈
  16. 零基础学python-2.24 一些常用函数
  17. java组织树级结构
  18. 如何成为一个Hacker
  19. 去掉 java 安全警告_Win10打开文件时安全警告怎么关闭
  20. catkin所依赖的package必须在package.xml中添加build_depend和run_depend

热门文章

  1. 男人+女人= 两头猪 的推理过程
  2. 爬坑记:论开发习惯的重要性。。。
  3. 安卓上架平台-百度手机助手-如果是付费内容,则必须要公司账号(个人账号无法上架app内含付费的情况)
  4. 数据采集软件 使用手记
  5. 陈年重返B2C市场 卓越骨干班底创办Vancl.com
  6. [附源码]计算机毕业设计JAVA面向服装集群企业的个性化定制服务系统
  7. 截屏篇:玩转电脑截屏技巧
  8. JAVA毕业设计建材公司管理系统计算机源码+lw文档+系统+调试部署+数据库
  9. innovus: 合并macro lef与antenna lef
  10. 月入6万,个性签名项目