个人纪录——洛谷试炼场,简单模拟三排!【普及练习场】

article/2025/6/29 2:57:18

首先自然是洛谷链接~

度过了新手村的BOSS战后,在普及练习场的第一个简单模拟里也遇到不少坑,记录一下以免以后再犯。

  • P1003 铺地毯
    在这里插入图片描述
  • 实现代码
#include <iostream>
#include <math.h>
#include <stdio.h>
#include<iomanip>
using namespace std;int main()
{int n, inf[10000][4],a,b,g,k,x,y;cin >> n;for (int i = 0; i < n; i++){cin >> a >> b >> g >> k;inf[i][0] = a;inf[i][1] = b;inf[i][2] = g;inf[i][3] = k;}cin >> x >> y;for (int i = n - 1 ; i >= 0; i--){if ((x >= inf[i][0]) && (x <= inf[i][0] + inf[i][2]) && (y >= inf[i][1]) && (y <= inf[i][1] + inf[i][3])){cout << i+1 << endl;return 0;}}cout << -1 << endl;return 0;
}
  • 后记:这个貌似写的挺快的,其实就是把数据存进数组里,然后倒着读出来,如果符合条件就输出。
  • P1540 机器翻译
    在这里插入图片描述
  • 实现代码
#include <iostream>
#include <math.h>
#include <stdio.h>
#include<iomanip>
using namespace std;int isinsight(int M[], int m, int n)
{int i;for (i = 0; i < m; i++){if (M[i] == n)break;}if (i == m)return 0;elsereturn 1;
}int main()
{int M[100], N[1000], m, n, count = 0,j=0;cin >> m >> n;if (m == 0 || n==0){cout << 0;return 0;}for (int i = 0; i < n; i++){cin >> N[i];}for (int i = 0; i < n; i++){if (N[i] == 0)N[i] = -1;if (isinsight(M,m,N[i])){continue;}else{count++;if (j < m){M[j] = N[i];j++;}else{M[j%m] = N[i];j++;}}}cout << count;return 0;
}
  • 后记:这个题的主要关键在于有一个类似的存在,也就是FIFO(FIRST IN FIRST OUT),论坛区有些朋友用了指针,我就没这么麻烦了,直接定义了一个数组,然后循环存入数据。
  1. 数组未满时:依次存入数据
  2. 数组满了:覆盖之前已经存过的数据,取余就循环回去啦~
    当然还有一个判断目标数是否已经在数组中的小函数。
  • P1056 排座椅
    在这里插入图片描述
  • 实现代码
#include <iostream>
#include <math.h>
#include <stdio.h>
#include<iomanip>
using namespace std;int findmax(int k[],int len)
{int max = 0, p_max = 0;for (int i = 1; i <= len; i++){if (k[i] > max ){p_max = i;max = k[i];}}k[p_max] = 0;return p_max;
}void sort(int p[], int len) 
{int flag;for (int i = 0; i < len - 1; i++) {flag = 1;for (int j = 0; j < len - i - 1; j++) {if (p[j] > p[j + 1]){int t = p[j]; p[j] = p[j + 1]; p[j + 1] = t;flag = 0;}}if (flag == 1) //set the flag to avoid the meaningless sortbreak;}
}int main()
{int M, N, K, L, D;//M行N行,K横L纵,D对int x, y, p, q,max;int hang[2010] = { 0 }, lie[2010] = {0}, count_h = 0, count_l = 0,after_h[2010],after_l[2010];cin >> M >> N >> K >> L >> D;for (int i = 0; i < D; i++){int a;cin >> x >> y >> p >> q;if (x == p){a = y < q ? y : q;lie[a] += 1;count_h++;}else{a = x < p ? x : p;hang[a] += 1;count_l++;}}for (int i = 0; i < K; i++){max = findmax(hang,M);after_h[i] = max;}for (int i = 0; i < L; i++){max = findmax(lie, N);after_l[i] = max;}sort(after_h, K);sort(after_l, L);for (int i = 0; i < K; i++){if (i < K - 1)cout << after_h[i] << ' ';elsecout << after_h[i];}cout << endl;for (int i = 0; i < L; i++){if (i < L - 1)cout << after_l[i] << ' ';elsecout << after_l[i];}return 0;
}
  • 后记:这个题卡了比较久。。可能因为本人空间感不好(?),在行和列以及横着切还是竖着切的问题上纠结了很久,经常经常写着就弄混了,还有数组的大小问题也容易弄混。思路一开始有想过枚举,但是想了想觉得八太可能,于是转变想法,其实只要把在同一行的所有小朋友(couple)和在同一列的所有小朋友(couple)的数量记录下来,然后从大到小对行和列进行排序,然后再根据给的横刀和竖刀的数量(?)来输出就好啦。

http://chatgpt.dhexx.cn/article/wUae61di.shtml

相关文章

洛谷试炼场---提高历练地

洛谷试炼场---提高历练地 搜索Ex 1.NOIP 2004 提高组 复赛 alpha 虫食算 //P1092 虫食算 //读完题目&#xff0c;第一直觉&#xff0c;要用高精度算法。 //N进制&#xff0c;该题处理&#xff0c;对理解进制很有帮助。 //为何要从高位往低位搜索&#xff0c;这篇文章写得不错…

洛谷试炼场---普及练习场

洛谷试炼场---普及练习场 简单的模拟 1.p1003 铺地毯 NOIP2011 提高组 复赛 day1 carpet 铺地毯 1.读完题目&#xff0c;对样例1进行模拟&#xff0c;进一步明白题目意图。 2.地毯数据采用结构体数组&#xff0c;处理起来比较方便。 3.查询点上地毯&#xff0c;采用自上而下…

洛谷试炼场 普及组 动态规划的背包问题

相关视频&#xff1a;洛谷试炼场 普及组 动态规划的背包问题 P1048 [NOIP2005 普及组] 采药 T就是背包的体积&#xff0c;M就是物品的数量&#xff0c;c[i]就是物品的体积&#xff0c;v[i] 就是物品的价值。 AC代码 #include<bits/stdc.h> using namespace std; int T,…

【OJ】洛谷试炼场の新手村整合(Java语言描述)

Pass 最近通关了洛谷试炼场新手村Part&#xff0c;做了很多的红题和橙题&#xff0c;这里做一下整理吧&#xff0c;希望对需要的人有所帮助。 说明 这些内容确实不是什么复杂的东西&#xff0c;所以无需多言。 洛谷的第一个任务 这里是我写的所有题解&#xff08;Java&…

洛谷试炼场---新手村

洛谷试炼场---新手村 在线测评地址https://www.luogu.com.cn/training/mainpage 洛谷的第一个任务 1.p1001 AB Problem 难度&#xff1a;入门难度 考点&#xff1a;输入&#xff0c;输出 ,整数四则运算 适用&#xff1a;小学生 #include <stdio.h> int main(){int …

洛谷试练场入门之“洛谷的第一个任务”讲解

话说&#xff0c;其实我主要在洛谷上做题 www.luogu.org 有些萌新若想在洛谷提升自己的实力&#xff0c;先看试炼场 因为吧&#xff0c;我个人觉得试炼场是适合一点一点来 那么这是试炼场的截图 分五个阶段&#xff1a; 1.入门 2.普及 3.提高 4.省选 5.USACO 以我的实力&#…

6.20 C语言练习(找出1至99之间的全部同构数。同构数是这样的一组数:它出现在平方数的右边。)

【练习】 题目要求&#xff1a;试编程序&#xff0c;找出1至99之间的全部同构数。同构数是这样的一组数:它出现在平方数的右边。如5是25右边的数&#xff0c;25是625右边的数&#xff0c;5和25均是同构数。例如&#xff1a;输出&#xff1a;1 5 6 25 76#include <stdio.h&g…

Python识别同构数

题目描述&#xff1a; 1.程序功能&#xff1a; 随机输入若干个不超过2位的正整数&#xff08;输入-1表示输入结束&#xff09;&#xff0c;找出其中所有同构数并排序输出。&#xff08;正整数n若是它平方数的尾部&#xff0c;则称n为同构数。如5的平方数是25&#xff0c;且5是…

c语言输入一个数判断是否是同构数,c语言:编写函数判断x是否同构数

c语言:编写函数判断x是否同构数 mip版 关注:271 答案:4 悬赏:30 解决时间 2021-01-19 03:42 已解决 2021-01-18 15:16 例如5是同构数,因为5是25右边的数,在主函数中调用该函数打印输出1到100间的同构数 下面是我编的程序,结果应该是1,5,6,25,76,可是却多了几个不对…

同构数-c语言入门(5)

找出2~999之间所有的的同构数 首先解释一下同构数&#xff0c;同构数是指自己本身与自己的平方右侧的数一样。例如6的平方36&#xff0c;6和36的最右侧一位6一样&#xff0c;所以6是同构数&#xff1b;再例如25的平方625&#xff0c;25与625的右侧25一样&#xff0c;所以25也是…

C++同构数计算

题目: 编写程序&#xff0c;找出1-99之间的全部同构数。同构数是这样一组数&#xff1a;它出现在平方数的右边。例如&#xff1a;5是25的右边的数&#xff0c;25是625右边的数&#xff0c;5和25都是同构数。 题目分析: 题目要找出1-99之间的全部同构数&#xff0c;首先要想到的…

同构数(c语言)

【问题描述】 具有下面性质的数a称为"同构数"&#xff1a;设b是a的平方&#xff0c;a与b的低若干位相同。 例如&#xff0c;5是25的同构数&#xff0c;25是625的同构数编程序满足如下要求&#xff1a;输入两个整数a&#xff0c;b&#xff08;0<a&#xff0c;b<…

python求同构数

找出1与100之间的全部“同构数”。“同构数”是这样一个数&#xff0c;它出现在它的平方数的右端。例如&#xff0c;5的平方是25&#xff0c;5是25右端的数&#xff0c;5就是同构数&#xff0c;25也是一个同构数&#xff0c;它的平方是625。 代码如下&#xff1a; for i in ran…

C语言 同构数的算法

“同构数”是指这样的整数&#xff1a;它恰好出现在其平方数的右端。 如&#xff1a;376*376141376。请输出10000以内的全部“同构数”。 算法分析&#xff1a; 1.求出1-10000之间每个数的位数&#xff08;即这个数是几位数&#xff09;。设这个数是i. //用for循环实现&#x…

第三方token过期监控及刷新机制

背景 信息系统随着业务发展的多样化及场景的拓展&#xff0c;需要接入越来越多的第三方系统&#xff0c;部分收费的第三方服务都会按照合同约定给用户提供对应的应用授权账户&#xff0c;授权账户包含并不仅限于账号/密码/AppKey/AppSecret/MerchantId&#xff0c;但是从系统安…

vue token过期后自动刷新token

在系统登录后&#xff0c;后端返回一个token&#xff0c;和refreshToken。每次接口请求的时候都会携带这个token&#xff0c;但是这个token一般是有过期时间的&#xff0c;假设过期时间为半小时&#xff0c;你半小时内没有调接口。半小时后你再调接口&#xff0c;会报401错误&a…

JAVA开发(token过期续期)

一、需求背景&#xff1a; 在使用token进行登录的过程中&#xff0c;如果token过期了&#xff0c;需要重新输入用户名和密码登录&#xff0c;这种体验肯定是不好的&#xff0c;因为如果一直在使用系统&#xff0c;系统应该一直能够保持登录状态&#xff0c;而不是用着用着就突然…

token系统讲解及过期处理

token系统讲解及过期处理 1. token是什么&#xff1f;用来做什么2. token存储在哪&#xff1f;过期了怎么办&#xff1f;3. 请求拦截与响应拦截执行时机&#xff08;面试重点&#xff09;4. 解决token过期方案一&#xff1a; 重新登录5. 方案二&#xff1a;使用 refresh_token…

前端token知识梳理:token如何存储?token过期如何处理?如何无感知刷新token?

在前后端是以token&#xff08;令牌&#xff09;的形式交互的&#xff0c;既然是token&#xff0c;是有过期时间的&#xff08;为了接口数据的安全&#xff0c; 服务器的token不会设置太久&#xff0c;根据需要一般是1-7天&#xff09;&#xff0c;没有一个token是永久的&…

处理token过期的问题,无感知刷新token

401错误的场景 有如下两种情况会出现401错误&#xff1a; 未登陆用户做一些需要权限才能做的操作&#xff0c;代码会报出401错误。这种情况下&#xff0c;应该让用户回到登陆页。登录用户的token过期了 整体目标是&#xff1a;通过axios响应拦截器来处理401问题。 理解toke…