Day8 备战CCF-CSP练习
Day8
前几天写了牛客周赛和集美大学ACM赛的题,耽误了几天,这几天会陆续发他们的题解,前两天的题就不补了,。
题目描述
涛涛最近要负责图书馆的管理工作,需要记录下每天读者的到访情况。
每位读者有一个唯一编号,每条记录用读者的编号来表示。
给出读者的来访记录,请问每一条记录中的读者是第几次出现。
输入格式
输入的第一行包含一个整数$ n$,表示涛涛的记录条数。
第二行包含$ n$ 个整数,依次表示涛涛的记录中每位读者的编号。
输出格式
输出一行,包含 \(n\) 个整数,由空格分隔,依次表示每条记录中的读者编号是第几次出现。
数据范围
\(1≤n≤1000\),读者的编号为不超过$ n$ 的正整数。
输入样例:
5
1 2 1 1 3
输出样例:
1 1 2 3 1
题目分析
语法题
每次出现次数++即可
C++代码
#include <bits/stdc++.h>
using namespace std;
int n;
map<int , int> p;
int main()
{
cin >> n;
while (n -- )
{
int x;
cin >> x;
p[x] ++;
cout << p[x] << ' ';
}
return 0;
}
题目描述
在图像编码的算法中,需要将一个给定的方形矩阵进行 \(Z\) 字形扫描(Zigzag Scan)。
给定一个 \(n×n\) 的矩阵,\(Z\) 字形扫描的过程如下图所示:

对于下面的 \(4×4\) 的矩阵,
1 5 3 9
3 7 5 6
9 4 6 4
7 3 1 3
对其进行 \(Z\) 字形扫描后得到长度为 \(16\) 的序列:1 5 3 9 7 3 9 5 4 7 3 6 6 4 1 3。
请实现一个 \(Z\) 字形扫描的程序,给定一个$ n×n$ 的矩阵,输出对这个矩阵进行$ Z$字形扫描的结果。
输入格式
输入的第一行包含一个整数 \(n\),表示矩阵的大小。
输入的第二行到第 \(n+1\) 行每行包含$ n$ 个正整数,由空格分隔,表示给定的矩阵。
输出格式
输出一行,包含 \(n×n\) 个整数,由空格分隔,表示输入的矩阵经过 \(Z\) 字形扫描后的结果。
数据范围
\(1≤n≤500\),矩阵元素为不超过 \(1000\) 的正整数。
输入样例:
4
1 5 3 9
3 7 5 6
9 4 6 4
7 3 1 3
输出样例:
1 5 3 9 7 3 9 5 4 7 3 6 6 4 1 3
题目解析
曼哈顿距离 + 模拟
观察斜着打印的坐标的特点,可以发现直线方程都是\(x + y = k\)的形式,至于往下平移,\(k\)从小到大枚举即可最大\(n^2\)
那么打印的顺序观察\(k\)的奇偶性即可。
要注意的是,这里不是所有坐标都有值,要判断要打印的坐标是否合法
时间复杂度\(O(n^3)\)
C++代码
#include <bits/stdc++.h>
using namespace std;
const int N = 510;
int a[N][N];
int n;
int main()
{
cin >> n;
for(int i = 1 ; i <= n ; i ++)
for(int j = 1 ; j <= n ; j ++)
cin >> a[i][j];
for(int i = 2 ; i <= 2 * n ; i ++)
{
if(i % 2 == 0)
for(int y = 1 ; y <= n ; y ++)
{
if(i - y <= 0 || i - y > n) continue;
// cout << y << ' ' << i - y << '\n';
cout << a[i - y][y] << ' ';
}
else
for(int x = 1 ; x <= n; x ++)
{
if(i - x <= 0 || i - x > n) continue;
// cout << x << ' ' << i - x << '\n';
cout << a[x][i - x] << ' ';
}
}
return 0;
}
Day8 备战CCF-CSP练习的更多相关文章
- CCF CSP 认证
参加第八次CCF CSP认证记录 代码还不知道对不对,过两天出成绩. 成绩出来了,310分. 100+100+100+10+0: 考试13:27开始,17:30结束,提交第4题后不再答题,只是检查前四 ...
- CCF CSP 201609-2 火车购票
题目链接:http://118.190.20.162/view.page?gpid=T46 问题描述 请实现一个铁路购票系统的简单座位分配算法,来处理一节车厢的座位分配. 假设一节车厢有20排.每一排 ...
- CCF CSP 201703-3 Markdown
CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF CSP 201703-3 Markdown 问题描述 Markdown 是一种很流行的轻量级标记语言(l ...
- CCF CSP 201703
CCF CSP 2017·03 做了一段时间的CCF CSP试题,个人感觉是这样分布的 A.B题基本纯暴力可满分 B题留心数据范围 C题是个大模拟,留心即可 D题更倾向于图论?(个人做到的D题基本都是 ...
- CCF CSP 201312-3 最大的矩形
CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF CSP 201312-3 最大的矩形 问题描述 在横轴上放了n个相邻的矩形,每个矩形的宽度是1,而第i( ...
- CCF CSP 201609-3 炉石传说
CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF CSP 201609-3 炉石传说 问题描述 <炉石传说:魔兽英雄传>(Hearthston ...
- CCF CSP 201403-3 命令行选项
CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF CSP 201403-3 命令行选项 问题描述 请你写一个命令行分析程序,用以分析给定的命令行里包含哪些 ...
- CCF CSP 201709-4 通信网络
CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF CSP 201709-4 通信网络 问题描述 某国的军队由N个部门组成,为了提高安全性,部门之间建立了M ...
- CCF CSP 201409-3 字符串匹配
CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF CSP 201409-3 字符串匹配 问题描述 给出一个字符串和多行文字,在这些文字中找到字符串出现的那 ...
- CCF CSP 201503-3 节日
CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF CSP 201503-3 节日 问题描述 有一类节日的日期并不是固定的,而是以“a月的第b个星期c”的形 ...
随机推荐
- JVM 方法区是否会出现内存溢出?
JVM 方法区是否会出现内存溢出? 方法区内存溢出的可能性 方法区是 JVM 内存中的一个重要组成部分,存储类的元信息.静态变量和运行时常量池等.尽管它是一个独立的内存区域,但如果内存使用过多,也可能 ...
- Java编程--简单的Factory程序(工厂设计模式)
Factory类不是接口.抽象类,就是普通的类. Factory就像一个工厂一样,可以返回很多对象. 子类在继承.实现抽象类和接口后由Factory类处理,由于子类可能会有多个,Factory根据客户 ...
- 【BERT】详解BERT
一.为什么要提出BERT? 传统的RNN类模型,包括LSTM,GRU以及其他各种变体,最大的问题在于提取能力不足.在<Why Self-Attention? A Targeted Evaluat ...
- 信息资源管理综合题之“绘制利用RSA进行数字签名的过程图并进行简要说明”
一.李三在上课中听不懂利用RSA进行数字签名的过程,老师便在黑板上清晰地画出了利用RSA进行数字签名过程图,李三方才明白是什么一回事.假设数字签名的原文方为A,按收方为B,A的公钥为(e,n),私钥为 ...
- 21C++数组(2)
一.字符数组的输入与输出 (第65课 采访报道) 教学视频 大惊小怪报和小惊大怪报是两家全球性的报社,发表的文章全用英文.因风之巅小学的信息学社团开展得很出色,于是两家报社都派记者前来采访,大 ...
- ASP.NET Core EFCore 属性配置与DbContext 详解
本文将深入探讨 ASP.NET Core 中 EFCore 的实体属性配置方法及 DbContext 的核心用法,帮助开发者高效管理数据模型与数据库交互. 一.属性配置 实体属性配置是定义模型与数据库 ...
- 网络编程:反应堆_I/O模型和多线程模型实现
多线程设计的几个考虑 在反应堆reactor框架设计中,main reactor线程是一个acceptor线程,这个线程一旦创建,会以event_loop形式阻塞在event_dispatcher的d ...
- codeup之C语言10.1+C语言10.2(指针
Description 输入a和b两个整数,按先大后小的顺序输出a和b.注意请使用指针变量的方式进行比较和输出. Input 两个用空格隔开的整数a和b. Output 按先大后小的顺序输出a和b,用 ...
- L3-1、掌控多轮对话的节奏 -Prompt 结构与上下文管理全攻略
一.多轮对话中的上下文挑战与常见问题 在与大语言模型(LLM)进行多轮对话时,我们常常面临以下挑战: 上下文丢失:模型"遗忘"之前提到的信息 指代不明:难以理解代词指向的内容 话题 ...
- 转|如何从 100 亿 URL 中找出相同的 URL
题目描述 给定 a.b 两个文件,各存放 50 亿个 URL,每个 URL 各占 64B,内存限制是 4G.请找出 a.b 两个文件共同的 URL. 解答思路 每个 URL 占 64B,那么 50 亿 ...