第五届太原理工大学新生赛(决赛)题解

题解)

  • <font color=red>第五届太原理工大学新生赛(决赛)
    • :star:A.810975
      • :star2:<font color=green>题意
      • :cherries:<font color=red>解决思路
      • :pear:代码
    • :star:<font color=pink>B.hammer玩游戏
      • :star2:<font color=green>题意
      • :cherries:<font color=red>解决思路
      • :pear:代码

第五届太原理工大学新生赛(决赛)


⭐️A.810975

在这里插入图片描述

🌟题意

就是说n个对战夜吹说他赢了几把,连胜了几把看有没有可能,有就输出yes+方案,没有就输出no

🍒解决思路

分类讨论,想什么时候就是在吹。(题目保证n>=m>=k)

  1. 当k=0,一局连胜都没有,那么肯定m是0才是对的(一局都没赢,输出n个0),否则就是在吹。
  2. 当k>0:
    (1) 特判:m==k的时候(即是赢的局数和连胜的局数一样多,此时必定有解,输出m个1后输出n-m个0;
    (2)m>k的时候:如果n=m=k那么就输出n个1,否则就输出no,因为总共就n局都赢了肯定k也等于n;
    n!=m的时候我们可以这样想,两个0可以包住k个1让他与连胜k场分开,那么我们就可以采用先输出k个1,然后输出一个0在输出k个1,所以只要判断有几局没有赢就有几个0,然后判断k倍0的个数是否大于等于1的个数,这样是可以的,否则就不行。
    3.输出要注意0如果多了就后面补上就行。
    在这里插入图片描述

🍐代码

#include<iostream>
using namespace std;
int main()
{int n, m, k; cin >> n >> m >> k;if (k == 0){if (m == 0) {cout << "YES\n";for (int i = 0; i < n; i++)cout << 0;}else cout << "NO\n";}else{if (m == k) {cout << "YES\n";for (int i = 0; i < n; i++){if (i < m)cout << 1; else cout << 0;}}else{if (n == m){if (k != m)cout << "NO\n";else{for (int i = 0; i < n; i++)cout << 1;}}else{int a = n - m, b = m - k;int c = a;int e=k;if (c * k >= b){cout << "YES\n";while (k--)cout << 1;while (b>0){int d = e;cout << 0; a--;while (d--&&b>0) { cout << 1; b--; }}while (a--)cout << 0;}else cout << "NO\n";}}}
}

⭐️B.hammer玩游戏

在这里插入图片描述

🌟题意

其中 A 代表进攻, B 代表防御,C 代表蓄力。
如果 Hammer 可以击杀电脑,则输出一个整数,表示 Hammer 能得到的最高得分。
否则结局一定是平局,(不然 Hammer 的透视挂岂不是白买了!)输出 draw

🍒解决思路

1.当机器人进攻时我们只能防御;
2.当机器人防御时我们可以蓄力得到高分
3.当机器人蓄力时我们可以蓄力,也可以进攻如果有能量。为了得到最高分,我们就必须在最后机器人蓄力的时候击杀它,否则杀不掉。
综上我们要记遍历录下C最后的位置同时统计C的数量,然后遍历到C最后的位置统计B的数目,如果能量为0,那么杀不掉。
同时特判如果没有C也是杀不掉。

🍐代码

#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
int main()
{int n;cin>>n;string a;cin>>a;int cnt=0;int ans=-1;int jj=0;for(int i=0;i<n;i++){if(a[i]=='C'){ans=i;cnt++;}}for(int i=0;i<ans;i++){if(a[i]=='B')jj++;}if(cnt+jj-1<=0||ans==-1)cout<<"draw";else cout<<cnt+jj-2;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/54741.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

视频安防监控EasyCVR平台海康大华设备国标GB28181告警布防的报文说明

TSINGSEE青犀视频监控综合管理平台EasyCVR基于云边端协同&#xff0c;可支持海量视频的轻量化接入与汇聚管理。平台既具备传统安防视频监控的能力&#xff0c;比如&#xff1a;视频监控直播、云端录像、云存储、录像检索与回看、告警上报、平台级联、云台控制、语音对讲等&…

【STM32】小电流FOC驱控一体板(开源)

FOC驱控一体板 主控芯片stm32f103c8t6 驱动芯片drv8313 三相电流采样 根据B站一个UP主的改的&#xff08;【【自制】年轻人的第一块FOC驱动器】&#xff09;&#xff0c;大多数元器件是0805&#xff0c;实验室具备且便于自己动手焊接 。 晶振用的是无源晶振&#xff0c;体…

OLED显示原理7T1C

文章目录 背景概念典型显示屏幕OLED与LCD对比----OLED更薄 PPI更高 但寿命低TFT---Thin Film Transistor薄膜场效应晶体管典型TFT材料----a-Si非晶硅、LTPS低温多晶硅、IGZO铟镓锌氧化物LTPO低温多晶氧化物----LTPS和IGZO组合使用的混合产物 OLED屏幕发光关键结构分析单个像素如…

leetcode 509. 斐波那契数

2023.8.6 明天放假回长沙了&#xff0c;回家先玩几天。 今天开始刷动态规划的题目了&#xff0c;先拿道简单的练练手。由于本题提示中说n在30以内&#xff0c;所以我是构造了一个大小为30的int型哈希数组&#xff0c;然后将30以内的斐波那契数列全部放入数组中&#xff0c;然后…

微信小程序的自定义TabBar及Vant的使用

一、安装Vant 1、在 资源管理器 空白位置&#xff0c;点右键打开 在外部终端窗口打开 2、初始化NPM npm init -y 3、安装命令 npm i vant/weapp1.3.3 -S --production 4、构建NPM包 在 工具 里选择构建NPM包 5、删除style:v2 在app.json里&#xff0c;删除"style"…

14-5_Qt 5.9 C++开发指南_基于HTTP 协议的网络应用程序

文章目录 1. 实现高层网络操作的类2. 基于HTTP协议的网络文件下载3.源码3.1 可是化UI设计3.2 mainwindow.h3.3 mainwindow.cpp 1. 实现高层网络操作的类 Qt 网络模块提供一些类实现 OSI 7 层网络模型中高层的网络协议&#xff0c;如 HTTP、FTP、SNMP等&#xff0c;这些类主要是…

Maven引入本地jar包

maven做为一种强大的依赖管理工具&#xff0c;可以帮助我们更方便的管理项目中的依赖&#xff1b;而在使用过程中我们难免会有需要引入本地jar包的需求&#xff0c;这里踩过坑之后我分享俩种引入方式&#xff1b; 1.上传jar到本地maven仓库&#xff0c;再引入 使用此方法后可…

拥抱创新:用Kotlin开发高效Android应用

拥抱创新&#xff1a;用Kotlin开发高效Android应用 引言 在当今数字时代&#xff0c;移动应用已经成为人们生活中不可或缺的一部分。无论是社交媒体、电子商务还是健康管理&#xff0c;移动应用已经深刻地影响了我们的生活方式。随着移动设备的普及和功能的增强&#xff0c;A…

ODOO16如何处理采购运输正常损耗的成本价核算?

《会计准则》规定&#xff1a;商品流通企业在采购商品过程中发生的运输费、装卸费、运输途中的合理损耗都归为采购存货成本中。 例如&#xff1a;采购A产品1000个&#xff0c;单价10元/个&#xff0c;途中运输正常损耗率是5%&#xff0c;因此实际入库是950个&#xff0c;入库金…

政务云建设与应用解决方案[42页PPT]

导读&#xff1a;原文《政务云建设与应用解决方案[42页PPT]》&#xff08;获取来源见文尾&#xff09;&#xff0c;本文精选其中精华及架构部分&#xff0c;逻辑清晰、内容完整&#xff0c;为快速形成售前方案提供参考。 完整版领取方式 完整版领取方式&#xff1a; 如需获取完…

分布式Redis详解

目录 前言安装redis的俩种方法Redis 与 MySQL的区别Redis可以实现那些功能Redis常用的数据类型有序列表的底层是如何实现的?什么是跳跃表 Redis在Spring中的使用 前言 Redis我们最近学习必备工具之一了, 接下来我们将讲解Redis的简单应用 ,以及相关原理 安装redis的俩种方法…

基于VUE3+Layui从头搭建通用后台管理系统(前端篇)七:工作台界面实现

一、本章内容 本章实现工作台界面相关内容,包括echart框架引入,mock框架引入等,实现工作台界面框架搭建,数据加载。 1. 详细课程地址: 待发布 2. 源码下载地址: 待发布 二、界面预览 三、开发视频 基于VUE3+Layui从头搭建通用后台管理系统合集-工作台界面布局实现 五、…