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

codeforcesE. Anna and the Valentine‘s Day Gift

目录

题目简述:

思路:

总代码:

https://codeforces.com/problemset/problem/1931/E

题目简述:

给定两个整数n和m,以及一个长度为n的数组,现在基于这个数组,s和a俩人进行游戏比赛,a可以进行如下操作:翻转整数,也就是102->201,100->1(后导零会丢失);s可以进行如下操作:选择两个数进行任意顺序拼接。a先开始,进行到只有一个数的时候,如果这个数的位数>m,那么s赢输出s,否则a赢输出a

思路:

博弈论,我们贪心的想。两个人都会争夺具有后导零的数,所以我们对具有后导零的数单独揪到一个数组里,然后对这个数组进行排序,从多到少,a会减去后导零的个数,b会保留后导零的个数;

思路不难,但是代码有很多需要注意的点

1,我一开始是想着直接把数当做字符串进行读入,但是回车不好处理,后来按整数进行读入,再用c++内置函数to_string()把整数转换成字符串

2,后导零数组可能为空!!!此时a.size()-1<0会导致死循环!!!需要加一个判断语句

总代码:

#include<bits/stdc++.h>
using namespace std;
#define int long long
//typedef long long ll;
#define endl "\n"
#define PII pair<int,int>
//#define x first
//#define y second
//priority_queue<int, vector<int>, greater<int>> pq;//小根堆
//{并查集
//int fa[N];
//int n;
//void init(){
//	for(int i=0;i<=n;i++)fa[i]=i;
//}初始化
//int get(int x){
//	return fa[x]=(fa[x]==x?x:get(fa[x]));
//}查找
//void merge(int a,int b){
//	fa[get(a)]=get(b);
//}合并
//}
const int N=2e5+10;
void solve(){int n,m;int ans=0;cin >> n >> m;int pp;vector<string>s;for(int i=0;i<n;i++){string ss;cin >> pp;ss=to_string(pp);s.push_back(ss);ans+=ss.size();}vector<int>a;for(int i=0;i<n;i++){int cnt=0;for(int j=s[i].size()-1;j>=0;j--){if(s[i][j]=='0')cnt++;else break;}
计算后导零的个数,如果存在后导零则将其放入a数组if(cnt)a.push_back(cnt);}sort(a.begin(),a.end());if(a.size())for(int i=a.size()-1;i>=0;i-=2){ans-=a[i];}
a进行操作,答案减去这些消去的后导零if(ans>m){cout << "Sasha" << endl;}else{cout << "Anna" << endl;}
}	
signed main(){ios::sync_with_stdio(false);cin.tie(nullptr);int q;cin >> q;while(q--)solve();
}

相关文章:

  • 全维度解析AI大模型学习:从理论范式到产业革命
  • 【论文阅读】Dip-based Deep Embedded Clustering with k-Estimation
  • 【计算机视觉】OpenCV项目实战:基于face_recognition库的实时人脸识别系统深度解析
  • HTTP和HTTPS模块
  • vsomeip环境搭建保姆级教程
  • FCB文件疑问+求助:01 百度网盘视频自动生成AI笔记pdf会出现对应fcb文件-作用待详解
  • K8s 图形界面管理kubesphere
  • 基于大模型预测胸椎管狭窄诊疗全流程的研究报告
  • Oracles数据库通过存储过程调用飞书接口推送群组消息
  • 华三路由器单臂路由配置
  • SAP Business One(B1)打开自定义对象报错【Failed to initialize document numbering:】
  • CodeBuddy终极测评:中国版Cursor的开发革命(含安装指南+HTML游戏实战)
  • 用vue和go实现登录加密
  • 全局校正假设
  • uniapp|实现获取手机摄像头权限,调用相机拍照实现人脸识别相似度对比,拍照保存至相册,多端兼容(APP/微信小程序)
  • 软考软件评测师——计算机组成与体系结构(分级存储架构)
  • Kafka 4.0版本的推出:数据处理新纪元的破晓之光
  • ES6中的解构
  • (1+x)-1次幂 (1-x)-1次幂 泰勒展开式
  • ES6 语法
  • 西北大学副校长成陕西首富?旗下巨子生物去年净利超20亿,到底持股多少
  • 市场监管总局等五部门约谈外卖平台企业
  • 商务部就开展打击战略矿产走私出口专项行动应询答记者问
  • 外交部:愿同拉美国家共同维护多边贸易体制
  • 体坛联播|穆勒主场完成拜仁谢幕战,山西车队再登环塔拉力赛
  • 国内大模型人才大战打响!大厂各出奇招