当前位置: 首页 > news >正文

Codeforces 无路可走

题目来源:

问题 - 2130B - Codeforces

这道题要求无论如何按照题目要求走都不能凑够s的数组,那么就分为三种情况:

1 当数组所有元素加起来大于s时

根据题目要求必须从下标1走到下标n可以得知,此时是绝对不能满足题意的,那么直接输出原数组即可

2 当数组所有元素加起来等于s时

只需要完整的走一遍就可以满足题目要求,此时不管如何排列都是不能阻止爱丽丝的,那么此时输出-1

3 当数组元素加起来小于s时

这个时候又分为两个情况

(1)当数组所有元素加起来只比s小1时,再回去看题目可以发现,数组中至少有1个0,1个1,1个2,我们只需要保证最后两个数字排列不是1和0即可,那么就采取最朴素的方式直接按顺序,先全部输出0,再全部输出2,最后全部输出。此时不管爱丽丝怎么走都会凑出比s大的数。

(2)当数组所有元素加起来比s至少小2时,那么这个时候,不管是怎么排列都无法阻止爱丽丝,由于题目中要求至少包含一个0,那么爱丽丝就可以采取0和旁边不为0的数字进行增加,直到凑够所有元素比s小的数值,再走到下标为n的数组即为完成

#include<bits/stdc++.h>
using namespace std;
int main()
{int t;cin>>t;while(t--){int n,s,sum=0;cin>>n>>s;vector<int>arr(n);int add[3];memset(add,0,sizeof(add));for(int i=0;i<n;i++){cin>>arr[i];if(arr[i]==0){add[0]++;}if(arr[i]==1){add[1]++;}if(arr[i]==2){add[2]++;}sum=sum+arr[i];}if(sum>s){for(int i=0;i<n;i++){cout<<arr[i]<<" ";}}else if(sum==s){cout<<"-1";}else{if(sum+2<=s){cout<<"-1";}else{for(int i=0;i<add[0];i++){cout<<"0 ";}for(int i=0;i<add[2];i++){cout<<"2 ";}for(int i=0;i<add[1];i++){cout<<"1 ";}}}cout<<endl;}return 0;} 

http://www.dtcms.com/a/332719.html

相关文章:

  • 分布式系统设计的容错机制
  • AI优质信息源汇总:含X账号,Newsletter,播客,App
  • 如何在 FastAPI 中玩转 APScheduler,让任务定时自动执行?
  • 上下文块嵌入(contextualized-chunk-embeddings)
  • collections:容器数据类型
  • C语言——深入理解指针(四)
  • 完整技术栈分享:基于Hadoop+Spark的在线教育投融资大数据可视化分析系统
  • 使用XXL-SSO实现登录认证以及权限管控
  • 解决 MySQL 查询速度缓慢的问题
  • Filebeat 轻量级日志采集实践:安装、配置、多行合并、JSON 解析与字段处理
  • Java集合Map与Stream流:Map实现类特点、遍历方式、Stream流操作及Collections工具类方法
  • 【软件设计模式】前置知识类图、七大原则(精简笔记版)
  • C++ 调试报错 常量中有换行符
  • 基于桥梁三维模型的无人机检测路径规划系统设计与实现
  • Cursor 分析 bug 记录
  • 3D视觉与空间智能
  • imx6ull-驱动开发篇25——Linux 中断上半部/下半部
  • 智谱开源了最新多模态模型,GLM-4.5V
  • 关系型数据库从入门到精通:MySQL 核心知识全解析
  • 高并发系统性能优化实战:实现5万并发与毫秒级响应
  • Kafka生产者——提高生产者吞吐量
  • LeetCode 面试经典 150_数组/字符串_最长公共前缀(20_14_C++_简单)(暴力破解)(求交集)
  • 简单使用 TypeScript 或 JavaScript 创建并发布 npm 插件
  • 从零到一:发布你的第一个 npm 开源库(2025 终极指南)
  • IT资讯 | VMware ESXi高危漏洞影响国内服务器
  • Day62--图论--97. 小明逛公园(卡码网),127. 骑士的攻击(卡码网)
  • 嵌入式 C 语言编程规范个人学习笔记,参考华为《C 语言编程规范》
  • 使用CMAKE-GU生成Visual Studio项目
  • ​Visual Studio 2013.5 ULTIMATE 中文版怎么安装?iso镜像详细步骤
  • Pushgateway安装和部署,以及对应Prometheus调整