Contest3898 - 计科23级算法设计与分析平时作业-01

news/2025/3/15 15:35:46/文章来源:https://www.cnblogs.com/Thin-time/p/18762208

题目链接

A.DNA Sorting

题面

思路

题目意思就是说,如果一个字符串中前面的字符比后面的字符大,那么它的无序度就+1,根据这个给一组字符串从最有序到最无序依次输出。那么明白题目意思之后直接模拟即可。

示例代码

#include<bits/stdc++.h>using namespace std;#define ll long long
//#define int ll
#define pii pair<int, int>
#define all(x) x.begin(),x.end()
#define fer(i, m, n) for(int i = m; i < n; ++i)
#define ferd(i, m, n) for(int i = m; i >= n; --i)
#define dbg(x) cout << #x << '\n'const int MOD = 1e9 + 7;
const int N = 2e5 + 2;
const int inf = 1e9;signed main() {ios::sync_with_stdio(false); cin.tie(nullptr);int n, m;cin >> n >> m;vector<pair<int, string>> arr(m);fer(i, 0, m) cin >> arr[i].second;for(auto &p : arr){string s = p.second;fer(i, 0, s.size()){fer(j, i + 1, s.size()) p.first += (s[i] > s[j]);}}sort(all(arr));for(auto p : arr) cout << p.second << '\n';return 0;
}

B.Integer Inquiry

题面

思路

其实就是求多个数的高精度加法

示例代码

ans = 0
while True:n = int(input())if n == 0:breakans += n
print(ans)
#include<bits/stdc++.h>using namespace std;#define ll long long
//#define int ll
#define pii pair<int, int>
#define all(x) x.begin(),x.end()
#define fer(i, m, n) for(int i = m; i < n; ++i)
#define ferd(i, m, n) for(int i = m; i >= n; --i)
#define dbg(x) cout << #x << '\n'const int MOD = 1e9 + 7;
const int N = 2e5 + 2;
const int inf = 1e9;string add(string s1, string s2) {string res;vector<int> a(110), b(110), c(110);int n1 = s1.size(), n2 = s2.size();for(int i = 0, j = n1 - 1; i < n1; i++, j--) a[i] = s1[j] - '0';for(int i = 0, j = n2 - 1; i < n2; i++, j--) b[i] = s2[j] - '0';fer(i, 0, max(n1, n2)){c[i] += a[i] + b[i];c[i + 1] += c[i] / 10;c[i] %= 10;}int len = max(n1, n2) + (c[max(n1, n2)] != 0);ferd(i, len - 1, 0) res += c[i] + '0';return res;
}signed main() {ios::sync_with_stdio(false); cin.tie(nullptr);string s;string ans = "";while(cin >> s, s != "0"){ans = add(ans, s);}cout << ans << '\n';return 0;
}

C.Word Amalgamation

题面

思路

题意是说先输入一组词典,词典中都是正确的单词,然后输入一组乱序的词,这些乱序的词可以经过重新将字母排序得到词典中的单词(或者词典中不存在)。如果存在就依次输出乱序单词对应的正确单词,不存在则另输出。
思路:我们只需要比较乱序单词和词典中的单词中的各字母的频次即可。

示例代码

#include<bits/stdc++.h>using namespace std;#define ll long long
//#define int ll
#define pii pair<int, int>
#define all(x) x.begin(),x.end()
#define fer(i, m, n) for(int i = m; i < n; ++i)
#define ferd(i, m, n) for(int i = m; i >= n; --i)
#define dbg(x) cout << #x << '\n'const int MOD = 1e9 + 7;
const int N = 2e5 + 2;
const int inf = 1e9;signed main() {ios::sync_with_stdio(false); cin.tie(nullptr);string s;map<string, map<int, int>> mp1;map<string, map<int, int>> mp2;while(cin >> s, s != "XXXXXX"){for(auto c : s) mp1[s][c - 'a']++;}vector<string> arr;while(cin >> s, s != "XXXXXX"){arr.push_back(s);for(auto c : s) mp2[s][c - 'a']++;}for(auto x : arr){bool ok = false;for(auto [y, mp] : mp1){if(mp1[y] == mp2[x]){ok = true;cout << y << '\n';}}if(!ok) cout << "NOT A VALID WORD\n";cout << "******\n";}return 0;
}

D.Sorting It All Out

题面

思路

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

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

相关文章

web56笔记(甚⾄把数字都给过滤掉了,还有部分的特殊字符)

<?php/* # -*- coding: utf-8 -*- # @Author: Lazzaro # @Date: 2020-09-05 20:49:30 # @Last Modified by: h1xa # @Last Modified time: 2020-09-07 22:02:47 # @email: h1xa@ctfer.com # @link: https://ctfer.com*/// 你们在炫技吗? if(isset($_GET[c])){$c=$_GET…

Odoo17中套件追溯

基于序列号的套件产品追溯 我们知道odoo原生的套件BOM类型并不会产生真正的库存,从而导致了某些情况下我们想要对套件进行追溯的困难性。基于这样的一个背景,我们在欧姆生产解决方案中新增了对套件产品的追溯拓展,下面我们就来看看如何使用吧。 产品设置 假设我们这里一台组…

Linux | 堆内存管理

from pixiv进程的地址空间jyy 进程的地址空间 Linux 堆内存管理深入分析如何查看Linux进程的地址空间? 答:pmap /proc/$PID/maps/proc文件系统 动态内核信息: /proc 是一个虚拟文件系统,主要提供内核和正在运行的进程的信息。它不是存储在磁盘上的真实文件,而是在运行时动…

如何使用Wled控制RGB LED

要装饰您的照明设置,WS2812B RGB led是最好的选择之一。为了控制这些可寻址的led,我们需要一个像ESP32这样的微控制器,还必须上传代码。编写代码来控制可寻址led并不难,但如果你只是想在客厅或办公室添加一些环境照明,并通过智能手机来管理它呢?目前最好的选择,毫无疑问…

将树莓派Pico变成带有触摸屏界面的USB-HID设备

将您的树莓派Pico变成带有触摸屏界面的USB-HID设备!在这个项目中,我们将在Arduino IDE中设置编程环境,为3.5”Pico Touch LCD屏蔽配置库,测试基本功能,创建简单的按钮(用于复制和粘贴),显示自定义图标,甚至使用Windows环境变量来启动程序。设置编程环境 安装Arduino IDE …

20250315

1. 20号胶 3-5的细分

语音交友app源码,优化白屏降低用户负面情绪

语音交友app源码,优化白屏降低用户负面情绪目标: 缩小打包体积,优化白屏时间路由懒加载const Home = () => import(/* webpackChunkName: "home" */"@/views/home/index.vue"); const MetricGroup = () => import(/* webpackChunkName: "met…

Visio绘制时间轴安排图的方法

本文介绍基于Visio软件绘制时间轴、日程安排图、时间进度图等的方法~本文介绍基于Visio软件绘制时间轴、日程安排图、时间进度图等的方法。在很多学习、工作场合中,我们往往需要绘制如下所示的一些带有具体时间进度的日程安排、工作流程、项目进展等可视化图表。而基于Visio软…

华为---MUX VLAN简介及示例配置

https://blog.csdn.net/lehe99/article/details/1426209886.4 配置及解析 system-view [Huawei]sysname R [R]interface GigabitEthernet 0/0/0 [R-GigabitEthernet0/0/0]ip address 192.168.11.254 24 [R]interface LoopBack 11 [R-LoopBack11]ip address 11.11.11.11 32 syst…

SQL Server 列存储HTAP介绍

本篇文章是我线下活动分享的一个活动PPT,现在分享在我的个人博客中

基于QWidget打造的进度条控件(等待控件、加载控件)

效果图功能支持设置加载进度条颜色 支持设置中间显示文字、文字颜色、文字大小 基于QWidget开发, 开箱即用。全部代码 CircleWaitingWidget.h #pragma once #include <QWidget>/// /// 环状等待控件。 /// class CircleWaitingWidget : public QWidget {Q_OBJECTpubli…

完全开源的SQL2API低代码工具SQLREST

在现代 Web 应用中,API(应用程序编程接口)是连接前端与后端业务逻辑的重要桥梁。传统的 API 开发方式通常需要手动编写大量代码,尤其是当需要与数据库交互时,开发效率往往较低。 一、什么是 SQLREST SQLREST是一款完全开源的SQL2API低代码工具,帮助用户同步编写SQL或简单…