2021天梯赛赛后补题(L1-乘法口诀数列)(L2 包装机)(L2 病毒溯源)

本文主要是介绍2021天梯赛赛后补题(L1-乘法口诀数列)(L2 包装机)(L2 病毒溯源),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

L1最后一道 L2的前三道皆因为各种原因最后几个测试点出现段错误(也有部分测试点答案错误 )没有拿全部分数。。。
(L2最后一道其实也是段错误,只不过最后改过来了)
段错误段的我人都傻了
先说L1最后一道题 少考虑了乘法结果的末尾为0的情况
原题

#include <bits/stdc++.h>using namespace std;
const int maxn = 1e6+5;
int sum[maxn],n;
int main()
{cin>>sum[0]>>sum[1]>>n;for(int i=2,j=2; j<n; ++i){int tmp=sum[i-1]*sum[i-2];if(tmp==0)///!!!!比赛的时候就因为这个!!sum[j++]=tmp;else{stack<int>t;while(tmp){t.push(tmp%10);tmp/=10;}while(!t.empty()){sum[j++]=t.top();t.pop();}}}for(int i=0; i<n; ++i){if(i==0)cout<<sum[i];elsecout<<' '<<sum[i];}return 0;
}

L2第一道题
模拟题 注意各种限制条件
L2 包装机

#include <bits/stdc++.h>using namespace std;
int n,m,s;
//char mp[105];
string ss[105];
int top[105];
char stk[105];
int sum;
string ans="";
int main()
{cin>>n>>m>>s;for(int i=1; i<=n; i++){cin>>ss[i];}int x;while(cin>>x){if(x==-1)break;if(x!=0){if(top[x]==m)continue;if(sum==s){ans+=stk[--sum];}stk[sum++]=ss[x][top[x]++];}else{if(sum>0)ans+=stk[--sum];}}cout<<ans<<endl;return 0;
}

L2第二道题
dfs 栈记录路径 注意第一个病毒不确定需要通过入度确定
L2 病毒溯源

#include <bits/stdc++.h>using namespace std;const int maxn=1e4+5;
vector<int>mp[maxn];
int n,m,S;
int in[maxn];int stk[maxn],top;
int stt[maxn],dep;
bool ok()
{for(int i=0; i<top; i++){if(stt[i]<stk[i]){for(; i<top; i++){stk[i]=stt[i];}return true;}else if(stt[i]>stk[i])return false;}return false;}void dfs(int s)
{if(mp[s].size()==0){if(top==dep&&ok());else if(top<dep){top=dep;for(int i=0; i<dep; i++){stk[i]=stt[i];}}}for(int i=0; i<mp[s].size(); i++){stt[dep++]=mp[s][i];dfs(mp[s][i]);dep--;}}
int main()
{cin>>n;for(int i=0; i<n; i++){int k;cin>>k;while(k--){cin>>m;mp[i].push_back(m);in[m]++;}}for(int i=0; i<n; i++){if(!in[i]){S=i;break;}}//考试的时候我好像这两句有问题 (..但怎么可能没检查出来呢)//但是当时肯定知道首节点需要通过入度查找stk[top++]=S;stt[dep++]=S;dfs(S);cout<<top<<endl;for(int i=0; i<top; i++){if(i==0)cout<<stk[i];elsecout<<" "<<stk[i];}return 0;
}

这篇关于2021天梯赛赛后补题(L1-乘法口诀数列)(L2 包装机)(L2 病毒溯源)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/769779

相关文章

2021-02-16物料档案条码添加和蓝牙条码标签打印,金蝶安卓盘点机PDA,金蝶仓库条码管理WMS系统

物料档案条码添加和蓝牙条码标签打印,金蝶安卓盘点机PDA https://member.bilibili.com/platform/upload-manager/article 本期视频我们来讲解一下汉点机PDA条码添加和条码标签蓝牙便携打印: 在实际使用中,我们商品有两种情况: 一种是商品本身就有条码, 比如:超市卖的可口可乐,牛奶等商品,商品本身就有69开头的国标码,那么我们就可以使用盘点

金蝶盘点机PDA,序列号SN管理扫描入库出库质量追溯溯源防串货

比如有5个红米手机,红米手机的代码是100001, 那么这5个红米手机的条码是:100001+001,100001+002,100001+003,100001+004,100001+005, 那么入库时,依次扫描这些条码,自动生成金蝶里的入库单。并记录序列号信息。这样能实现序列号追溯,以后通过序列号就能查询出来该序列号的产品是从哪里进货的什么时候进货的,什么时间销售给谁了。 第一步:商

.hmallox勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复

导言: 在当今数字化时代,勒索病毒已经成为网络安全的一大威胁,其中包括了最近出现的.hmallox勒索病毒。这类恶意软件不仅能够对计算机系统进行加密,还会要求用户支付赎金以换取解密密钥,给个人用户和企业带来了严重的损失和困扰。当面对被勒索病毒攻击导致的数据文件加密问题时,您可添加我们的技术服务号(sjhf91)。我们将为您提供专业、快速的数据恢复技术支持。 攻击者的动机和策略 攻

c#编程:有一个分数序列,2/1,3/2,5/3,8/5,13/8,21/13....找出数列的规律并求出其前30项的和

using System;using System.Collections.Generic;using System.Linq;using System.Text;//有一个分数序列,2/1,3/2,5/3,8/5,13/8,21/13....找出数列的规律并求出其前30项的和namespace ans1{class Program{static void Main(string[]

删除Skypee顽固病毒(AutoIt3木马)

一、Skypee顽固病毒(AutoIt3木马)介绍   中毒症状: 1.无故创建快捷方式,一般在一级文件夹目录下包含有该文件夹名字的快捷方式。 2.U盘还有一些my games、my pictuers、my videos、hot、downloads、movies之类的类似Windows库文件夹的快捷方式。删除之后又会建立,无法彻底删除。 3.所有的这些快捷方式都被伪装为了文件夹的标志,并

Strassen矩阵乘法简要解析(第4章:分治策略)

Strassen矩阵乘法简要解析 Strassen矩阵乘法具体描述如下: 两个n×n 阶的矩阵A与B的乘积是另一个n×n 阶矩阵C,C可表示为假如每一个C(i, j) 都用此公式计算,则计算C所需要的操作次数为n3 m+n2 (n- 1) a,其中m表示一次乘法,a 表示一次加法或减法。 为了使讨论简便,假设n 是2的幂(也就是说, n是1,2,4,8,1 6,...)。 首先,假设

第13关:存储过程1、第14关:存储过程2。(2021数据库期末一)

目录 首先需要学习和了解的知识 第13关:存储过程1 任务描述 答案  第14关:存储过程2 任务描述 答案 本篇博客的答案博主是学习别人得来的,敢于借鉴和学习哈哈!! 首先需要学习和了解的知识 了解什么是存储过程以及存储过程的基本语法。(作者博客专栏或者b站学习)了解在命令行中,执行创建存储过程的SQL时。需要通过关键字 delimiter 指定SQL语句的结束

LeetCode665.非递减数列

LeetCode刷题记录 文章目录 📜题目描述💡解题思路⌨C++代码 📜题目描述 给你一个长度为 n 的整数数组 nums ,请你判断在 最多 改变 1 个元素的情况下,该数组能否变成一个非递减数列。 我们是这样定义一个非递减数列的: 对于数组中任意的 i (0 <= i <= n-2),总满足 nums[i] <= nums[i + 1]。 示例1

Acrobat Pro DC 2021:Mac/Win平台上全面高效的PDF编辑器

Acrobat Pro DC 2021是一款在Mac和Windows平台上广受欢迎的PDF编辑器,它凭借其全面的功能和高效的性能,为用户提供了卓越的PDF处理体验。 一、编辑功能全面强大 Acrobat Pro DC 2021允许用户轻松创建、编辑、合并、转换、签署和分享PDF文件。无论是对PDF文档中的文字、图像、表格和链接进行编辑,还是添加、删除、移动和调整页面,都能轻松完成。此外,该软件

【Rust日报】 2019-09-07:Linux.Fe2O3: 一个Rust编写的“病毒”

Rust 2018: NLL migrate mode => hard error NLL指的是non-lexical lifetimes非词法生命周期,即新的借用检查规则和实现。NLL接受不安全代码,之前是使用警告和弃用通知的方式。现在这已经转为了一个hard error错误,因为NLL已经提出了一段时间。具体如下: 在1.39中对Rust 2018发出NLL警告hard error。在1.4