科大讯飞非凡计划0715笔试 C++

news/2024/12/22 2:33:12/

第一题:小y删数字
给定一个长度为n的数组,数组元素为a1, a2, . . , an,每次能删除任意a的任意一位,求将所有数字变成0最少需要几步。例如103若删除第1位则变成3;若删除第2位则变成13;若删除第3位则变成10。输入描述第一行一个正整数n代表数组长度。接下来一行n个数第j个数代表a。
1≤n ≤10^5 0≤ai≤10^9
输出描述
输出一行一个数代表答案。
示例1
输入
5
10 13 22 100 30
输出
7

#define _CRT_SECURE_NO_WARNINGS 1
#include<iostream>
#include<vector>
#include<string>using namespace std;
int main()
{int n;cin >> n;int res = 0;for (int i = 0; i < n; i++){string s;cin >> s;for (int j = 0; j < s.size(); j++){if (s[j] == '0') continue;else{res++;}}}cout << res << endl;return 0;
}

第二题:小红的字符串切割
小红拿到了一个字符串,她希望你帮她切割成若干子串,满足以下两个条件:
子串长度均为不小于3的奇数。
子串内部的字符全部相同。
输入描述
第一行输入一个正整数n,代表字符串长度。第二行输入一个字符串,仅由小写字母组成。1 <n ≤200000输出描述如果无解,请输出-1。否则按顺序输出若干个字符串,用空格隔开。
示例1
输入
8
aaabbbbb
输出
aaa bbbbb

#define _CRT_SECURE_NO_WARNINGS 1
#include<iostream>
#include<vector>
#include<string>using namespace std;
int main()
{int n;cin >> n;//getchar();string s;cin >> s;vector<string> vec;for (int i = 0; i < s.size(); i++){int start = i;int count = 1;while (i + 1 < s.size() && s[i] == s[i + 1]){i++;count++;}if (count >= 3){string tmp = s.substr(start, count);vec.push_back(tmp);}}vector<string> res;for (auto& str : vec){if (str.size() % 2 == 1) res.push_back(str);else{if(str.size() < 6 && vec.size() == 1) {cout << -1 << endl;return 0;}if(str.size() >= 6){res.push_back(str.substr(0, 3));res.push_back(str.substr(3));}}}for (int i = 0; i < res.size(); i++){cout << res[i];if (i != res.size() - 1) cout << " ";}return 0;
}

第三题 不会写 就不记录了


http://www.ppmy.cn/news/938097.html

相关文章

pdf合并一页怎么合并?这几种合并方法看看

pdf合并一页怎么合并&#xff1f;PDF文件是一种非常常见的文件格式&#xff0c;它可以在不同的操作系统和设备之间方便地进行共享。有时候&#xff0c;我们需要将多个PDF文件合并成一个文件。例如&#xff0c;当我们需要将多个文档合并成一个大文档时&#xff0c;或者我们需要将…

win8原版系统怎么安装?硬盘安装原版win8方法

本文来自BX教程网www.benxitj.com:整理编辑 - 原文出处 www.benxitj.com/Article/?11797/62.html 转载注明window8 对于很多电脑小白来说&#xff0c;给电脑装系统无疑是一件好比登天的事情&#xff0c;所以&#xff0c;接下来小编要来跟这部分用户分享一下硬盘安装原版win8的…

【转】预装Win8/8.1 中文版系统升级为专业版或专业版含媒体中心版的简单方法...

【转】预装Win8/8.1 中文版系统升级为专业版或专业版含媒体中心版的简单方法 原文地址&#xff1a;http://www.iruanmi.com/upgrade-win8-china-to-a-higher-edition/ 现在市不少品牌机都已经预装了最新的Windows 8/8.1 操作系统。在中国&#xff0c;购买预装Win8的电脑预装的基…

win8_x86操作系统

可以在windos系统中安装&#xff0c;拥有双系统&#xff01;&#xff01;下面是下载地址&#xff01;&#xff01; http://l4.yunpan.cn/lk/Q2GITiYPbeutM

windows8 更新与升级

Windows 8 更新与升级 新的更新规则&#xff1a; Windows 8 启用了更新新规则&#xff0c;系统更新的补丁包会在后台下载&#xff0c;之后的重启也不像在 Windows 7 那样弹出通知窗口或提示你延迟重启&#xff0c;它会连续三天在系统登录界面&#xff08;及锁屏界面&#xff09…

使用U盘安装Windows8.1操作系统

前言&#xff1a;无论是科班出生还是非科班出生&#xff0c;安装操作系统都应成为我们自身的一项必备技能。如果需要把系统安装在硬盘中&#xff0c;一般使用的方法是光盘安装或者U盘安装&#xff0c;因为现在U盘的获取比较快捷&#xff0c;基本上谁手边都会有一个可用的U盘。在…

重装win8系统

制作U盘启动盘 将从MSDN中下载的ISO系统解压要U盘根目录&#xff0c;再将bootmgr文件修改成win8mgr.重启电脑&#xff0c;使用 快捷键F12切换到快速启动模式&#xff0c;选择USB启动&#xff0c;进入PE&#xff0c;选择直接安装Windows。

装win8 win7系统

要设置u盘&#xff0c;硬盘启动顺序&#xff0c;先把 boot list option 设置为legacy&#xff0c;就可以选择启动顺序了。win8用装好系统后把启动方式改为uefi方式启动&#xff0c;引导磁盘格式为guid(选择硬盘右键可以转换)&#xff0c;win7用 legacy方式启动&#xff0c;在分…