Day 1

201403-1

题目描述

有 \(N\) 个非零且各不相同的整数。请你编一个程序求出它们中有多少对相反数(\(a\) 和 \(-a\) 为一对相反数)。

输入格式

第一行包含一个正整数 \(N\)。\((1 ≤ N ≤ 500)\)。

第二行为 \(N\) 个用单个空格隔开的非零整数,每个数的绝对值不超过\(1000\),保证这些整数各不相同。

  

输出格式

  只输出一个整数,即这 \(N\) 个数中包含多少对相反数。

样例输入

5
1 2 3 -1 -2

样例输出

2

题目分析

语法题

保证输入整数互不相同,所以直接看输入的数的相反数是否存在即可(哈希表,标记都可)

C++代码

#include <bits/stdc++.h>

using namespace std;

map<int , int> p;

int main()
{
int n;
cin >> n;
int cnt = 0;
while (n -- )
{
int x;
cin >> x;
if(p[abs(x)]) cnt ++;
else p[abs(x)] ++;
}
cout << cnt << '\n';
return 0;
}

201403-2

题目描述

在某图形操作系统中,有 \(N\) 个窗口,每个窗口都是一个两边与坐标轴分别平行的矩形区域。

窗口的边界上的点也属于该窗口。

窗口之间有层次的区别,在多于一个窗口重叠的区域里,只会显示位于顶层的窗口里的内容。

当你点击屏幕上一个点的时候,你就选择了处于被点击位置的最顶层窗口,并且这个窗口就会被移到所有窗口的最顶层,而剩余的窗口的层次顺序不变。

如果你点击的位置不属于任何窗口,则系统会忽略你这次点击。

现在我们希望你写一个程序模拟点击窗口的过程。

输入格式

输入的第一行有两个正整数,即 \(N\) 和 \(M\)。

接下来 \(N\) 行按照从最下层到最顶层的顺序给出 \(N\) 个窗口的位置。

每行包含四个非负整数 \(x_1,y_1,x_2,y_2\),表示该窗口的一对顶点坐标分别为 \((x_1,y_1)\) 和\((x_2,y_2)\)。保证 \(x_1<x_2,y_1<y_2\)。

接下来 \(M\) 行每行包含两个非负整数 \(x,y\),表示一次鼠标点击的坐标。

题目中涉及到的所有点和矩形的顶点的 \(x,y\) 坐标分别不超过 \(2559\) 和 \(1439\)。

输出格式

输出包括 \(M\) 行,每一行表示一次鼠标点击的结果。

如果该次鼠标点击选择了一个窗口,则输出这个窗口的编号(窗口按照输入中的顺序从 \(1\)

编号到 \(N\)。

如果没有,则输出 IGNORED

数据范围

\(1≤N,M≤10\)

输入样例:

3 4
0 0 4 4
1 1 5 5
2 2 6 6
1 1
0 0
4 4
0 5

输出样例:

2
1
1
IGNORED

样例解释

第一次点击的位置同时属于第 \(1\) 和第 \(2\) 个窗口,但是由于第 \(2\)个窗口在上面,它被选择并且被置于顶层。

第二次点击的位置只属于第 \(1\)个窗口,因此该次点击选择了此窗口并将其置于顶层。现在的三个窗口的层次关系与初始状态恰好相反了。

第三次点击的位置同时属于三个窗口的范围,但是由于现在第 \(1\)

个窗口处于顶层,它被选择。

最后点击的 \((0,5)\)

不属于任何窗口。

题目分析

大模拟题,因为数据量很小模拟就行

C++ 代码

#include <bits/stdc++.h>
#define x first
#define y second using namespace std; typedef pair<int, int> PII;
const int N = 11; pair<PII , PII> point[N];
map<pair<PII , PII> , int> mp; int n , m; int main()
{
cin >> n >> m;
for(int i = 0 ; i < n ; i ++)
{
cin >> point[i].first.x >> point[i].first.y >> point[i].second.x >> point[i].second.y;
mp[point[i]] = i + 1;
} while(m --)
{
int px , py;
cin >> px >> py;
int ans = 0 , idx = -1;
pair<PII , PII> t;
for(int i = 0 ; i < n ; i ++)
if(px >= point[i].first.x && px <= point[i].second.x && py >= point[i].first.y && py <= point[i].second.y)
ans = mp[point[i]] , t = point[i] , idx = i;
if(ans == 0) cout << "IGNORED" << '\n';
else
{
cout << ans << '\n';
for(int i = 0 ; i < n ; i ++)
if(i > idx) point[i - 1] = point[i];
point[n - 1] = t;
}
} }

Day1 备战CCF-CSP练习的更多相关文章

  1. CCF CSP 认证

    参加第八次CCF CSP认证记录 代码还不知道对不对,过两天出成绩. 成绩出来了,310分. 100+100+100+10+0: 考试13:27开始,17:30结束,提交第4题后不再答题,只是检查前四 ...

  2. CCF CSP 201609-2 火车购票

    题目链接:http://118.190.20.162/view.page?gpid=T46 问题描述 请实现一个铁路购票系统的简单座位分配算法,来处理一节车厢的座位分配. 假设一节车厢有20排.每一排 ...

  3. CCF CSP 201703-3 Markdown

    CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF CSP 201703-3 Markdown 问题描述 Markdown 是一种很流行的轻量级标记语言(l ...

  4. CCF CSP 201703

    CCF CSP 2017·03 做了一段时间的CCF CSP试题,个人感觉是这样分布的 A.B题基本纯暴力可满分 B题留心数据范围 C题是个大模拟,留心即可 D题更倾向于图论?(个人做到的D题基本都是 ...

  5. CCF CSP 201312-3 最大的矩形

    CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF CSP 201312-3 最大的矩形 问题描述 在横轴上放了n个相邻的矩形,每个矩形的宽度是1,而第i( ...

  6. CCF CSP 201609-3 炉石传说

    CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF CSP 201609-3 炉石传说 问题描述 <炉石传说:魔兽英雄传>(Hearthston ...

  7. CCF CSP 201403-3 命令行选项

    CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF CSP 201403-3 命令行选项 问题描述 请你写一个命令行分析程序,用以分析给定的命令行里包含哪些 ...

  8. CCF CSP 201709-4 通信网络

    CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF CSP 201709-4 通信网络 问题描述 某国的军队由N个部门组成,为了提高安全性,部门之间建立了M ...

  9. CCF CSP 201409-3 字符串匹配

    CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF CSP 201409-3 字符串匹配 问题描述 给出一个字符串和多行文字,在这些文字中找到字符串出现的那 ...

  10. CCF CSP 201503-3 节日

    CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF CSP 201503-3 节日 问题描述 有一类节日的日期并不是固定的,而是以“a月的第b个星期c”的形 ...

随机推荐

  1. app自动化的特殊操作

    一.截屏 File srcfile=driver.getScreenshotAs(OutputType.FILE); //得到截图源文件对象 File dstfile=new File("C ...

  2. thinkphp 3.2的一些笔记

    1.基础操作"::"语法.A()方法 2.php与js混写实现ajax无刷新执行控制器的方法 3.session的使用,通过session验证用户登录状态 4.使用UTFWry.d ...

  3. Harmony 动态路由框架:TheRouter 开源

    TheRouter 是一个用于移动端APP,包括 Android.iOS.Harmony 三端的模块化.组件化开发的一整套解决方案框架.提供了三端高一致性,对移动端开发者更友好,让开发人员更适应,使用 ...

  4. xna 渲染3d图片

    我们在做一个3d显示的时候为了突出模型的某些部位以及更好的区别某些模块我们需要渲染各种不同的颜色来体现, 下面代码演示: public void loade() { spriteBatch = new ...

  5. 5个让你眼前一亮的JavaScript装饰器技巧

    @charset "UTF-8"; .markdown-body { line-height: 1.75; font-weight: 400; font-size: 15px; o ...

  6. 深度解析大厂vue 高频面试题(附答案)

    @charset "UTF-8"; .markdown-body { line-height: 1.75; font-weight: 400; font-size: 15px; o ...

  7. VNCTF-Misc

    VNCTF-Misc VN_Lang 直接IDApro打开,shift+F12检索字符串 Echo Flowers echo_flowers.ovf文件,可以使用vmware挂载 有个imToken, ...

  8. 【译】Visual Studio 2022 v17.14 现已正式发布!

    我们很高兴地宣布 Visual Studio 2022 17.14 正式发布!此版本延续了我们的使命--为开发者提供更快.更智能且更高效的工具,以应对各种开发工作. 在这个版本中有很多开发者喜欢的东西 ...

  9. pythonnet VS csnake:穿针引线,中西合璧——最强Python & .NET互操作对决

    Hello,亲爱的小伙伴们!你是否曾经在深夜里,为了自动化点外卖.筛机票.抓网页数据焦头烂额?有没有幻想过哪天能出个"贴心AI管家",一键点菜.搞定事务.自动操作网页,比你还懂你? ...

  10. 已经在为VKProxy写UI配置站点和文档了

    VKProxy 是使用c#开发的基于 Kestrel 实现 L4/L7的代理 有兴趣的同学点个赞呗 目前已经在写文档了, 文档在 https://fs7744.github.io/VKProxy.Do ...