自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(235)
  • 收藏
  • 关注

原创 C/C++基础编程练习

文章目录BASIC-1 闰年判断BASIC-2 字串BASIC-3字母图形BASIC-4数列特征蓝桥杯训练题BASIC-1 闰年判断BASIC-2 字串BASIC-3字母图形BASIC-4数列特征

2019-07-20 02:15:25 876

原创 chatGPT API的使用

请注意,在使用ChatGPT进行文本生成时,生成的文本内容可能是基于输入数据进行的推理,不一定总是准确的。如果您想要更好的结果,可能需要尝试不同的模型、参数、生成长度和输入方式等,可以按照以上方法,生成的中文文本是乱码,试试解决这个问题。在PyCharm中创建一个Python文件:选择File > New > Python File,在弹出的对话框中指定文件名并单击“OK”按钮。在代码中使用OpenAI API:在您的Python文件中导入OpenAI包,并使用API密钥进行身份验证。

2023-04-06 11:12:36 3701

原创 NOIP36

机器人的相遇问题问题描述蒜头君和花椰菜君各做了一个机器人,小蒜和小花。蒜头君和花椰菜君打算用他们的机器人做个试验,同时放在圆形跑道上的两个点上,各自朝顺时针方向走,直到同时停留在相同的点上为止,即相遇点必须同时是双方走的某一步的终点。假设圆形跑道的长度为 L,出发点的位置为原点 0,顺时针方向为正方向。这样我们就得到了一条首尾相接的数轴。设小蒜的出发点坐标是 x,小花的出发点坐标是 y。小蒜一步能走 m 米,小花一步能走 n 米。现在请你来算一算,它们走了多少步以后才会碰面。输入格式输入一行,输

2021-03-04 00:36:22 208 1

原创 NOIP35

同余方程Description求关于 x 的同余方程 ax ≡ 1 (mod b)的最小正整数解。Input输入只有一行,包含两个正整数 a, b,用一个空格隔开。2 ≤a, b≤ 2,000,000,000Output输出只有一行,包含一个正整数 x0,即最小正整数解。输入数据保证一定有解。Sample Input3 10Sample Output7HINT题解这道题一看就是求逆元的裸题#include <cstdio>using namespace std;

2021-03-04 00:33:55 193 1

原创 NOIP34

质数原根问题描述如果一个数 x(0< x< p),满足集合 {xi%p∣1≤i< p} 等价于集合 {1,⋯,p−1},则我们称 x 为质数 p 的一个原根。例如,假设 p 为 3,2 的各项幂对 3 取余的结果为 2,1,则 2 为质数 p 的一个原根。现在已知一个质数 p,求质数 p 的原根个数。输入格式输入有多组数据,不超过100行。每组数据输入一行,输入一个质数 p(3≤p≤100,000)。输出格式对于每组测试数据,输出一行,输出质数 p 的原根个数。样例输入

2021-03-04 00:30:20 131 1

原创 NOP33

互质数个数给定一个整数 nn,请问有多少个整数 i满足条件:gcd(i, n) = 1,1<=i<=n;输入格式输入一行,输入一个整数 n(n<=10^9)。输出格式输出一行,输出一个整数,表示符合条件的整数个数。样例输入16样例输出8解题思路:利用欧拉函数求解但是此题数据量大 10^9 用筛法打表10^9必然超时 直接判素也会超时 所以打表10^5 然后大于10^5的数据判素即可#include <bits/stdc++.h>using n

2021-03-04 00:28:37 117 1

原创 NOIP32

素数距离蒜头君请你求出区间 [l,r][l,r] 上距离最近的相邻的素数对和距离最远的相邻的素数对。3,53,5 是相邻的素数,2, 52,5 不是相邻的素数。距离定义为 22 个素数的差的绝对值。比如 5,75,7 距离为 22。输入格式输入 22 个整数 l, r(1 \le l \le r \le 8000000)l,r(1≤l≤r≤8000000)输出格式如果 a, b(a < b)a,b(a<b) 是距离最近的素数对,c,d(c < d)c,d(c<d) 是距离最

2021-03-04 00:26:12 118 1

原创 NOIP31

蒜头君的猜想有一天蒜头君突发奇想,他有一个猜想,任意一个大于 22 的偶数好像总能写成 22 个质数的和。蒜头君查了资料,发现这个猜想很早就被一个叫哥德巴赫的人提出来了,称为哥德巴赫猜想。目前还没有证明这个猜想的正确性。蒜头君告诉你一个整数 nn ,让你用这个数去验证。注意 11 不是质数。输入格式输入一个偶数 n(2 < n \le 8000000)n(2<n≤8000000)输出格式输出一个整数表示有多少对 (x,y)(x,y) 满足 x + y = n(x \le y)x+y=n

2021-03-04 00:24:04 102 1

原创 NOIP30

取石子游戏问题描述蒜头君和花椰妹在玩一个游戏,他们在地上将 n 颗石子排成一排,编号为 1 到 n。开始时,蒜头君随机取出了 2 颗石子扔掉,假设蒜头君取出的 2 颗石子的编号为 a, b。游戏规则如下,蒜头君和花椰妹 2 人轮流取石子,每次取石子,假设某人取出的石子编号为 i,那么必须要找到一对 j, k 满足 i=j−k 或者 i=j+k ,并且编号为 j,k 的石子已经被取出了,如果谁先不能取石子了,则视为输了。蒜头君比较绅士,让花椰妹先手。输入格式第一行输入一个整数 t(1≤t≤500),表

2021-03-01 17:41:15 89

原创 NOIP29

两仪剑法问题描述两仪剑法是武当派武功的高级功夫,且必须 2 个人配合使用威力才大。同时该剑法招数变化太快、太多。设武当弟子甲招数变化周期为 n,武当弟子乙招数变化周期为 m,两弟子同时使用该剑法,当 2 人恰好同时达到招数变化周期结束时,威力最大,此时能将邪教妖人置于死地。请你计算威力最大时,每人用了多少招?输入格式首先输入一个 t(t<100000) 表示测试组数。接下来 t组输入,每组输入 2 个数n,m(1≤n,m≤1000000000)。输出格式对于每组输出,输出用了多少招数。

2021-03-01 17:39:14 72

原创 NOIP28

问题描述蒜头君在玩一种接龙的游戏,蒜头君有 30000 张卡片分别放在 30000 列,每列依次编号为 1,2,…,300001,2,…,30000。同时,蒜头君也把每张卡片依次编号为 1,2,…,30000游戏开始,蒜头君让让第 ii 张卡片处于第i(i=1,2,…,30000) 列。然后蒜头君会发出多次指令,每次调动指令 M i j 会将第 i 张卡片所在的队列的所有卡片,作为一个整体(头在前尾在后)接至第 j 张卡片所在的队列的尾部。蒜头君还会查看当前的情况,发出 CC ii jj 的指令,即询

2021-03-01 17:36:21 69

原创 NOIP27

找出所有谎言蒜头君有很多卡片,每张卡片正面上印着“剪刀”,“石头”或者“布”三种图案中的一种,反面则印着卡片的序号。“剪刀”,“石头”和“布”三种构成了一个有趣的环形,“剪刀”可以战胜“布”,“布”可以战胜“石头”,“石头”可以战胜“剪刀”。现有 N 张卡片,以 1-N 编号。每张卡片印着“剪刀”,“石头”,“布”中的一种,但是我们并不知道它到底是哪一种。有人用两种说法对这 N 张卡片所构成的关系进行描述:第一种说法是“1 X Y”,表示 X 号卡片和 Y 号卡片是同一种卡片。第二种说法是“2 X

2021-03-01 17:33:17 88

原创 NOIP26

网络交友问题描述在网络社交的过程中,通过朋友,也能认识新的朋友。在某个朋友关系图中,假定 A 和 B 是朋友,B 和 C 是朋友,那么 A 和 C 也会成为朋友。即,我们规定朋友的朋友也是朋友。现在要求你每当有一对新的朋友认识的时候,你需要计算两人的朋友圈合并以后的大小。输入格式第一行:一个整数 n(n≤5000),表示有 n 对朋友认识。接下来 n 行:每行输入两个名字。表示新认识的两人的名字,用空格隔开。(名字是一个首字母大写后面全是小写字母且长度不超过 20 的串)。输出格式对于每一对

2021-03-01 17:31:11 85

原创 NOIP25

在社交的过程中,通过朋友,也能认识新的朋友。在某个朋友关系图中,假定 A 和 B 是朋友,B 和 C 是朋友,那么 A 和 C 也会成为朋友。即,我们规定朋友的朋友也是朋友。现在,已知若干对朋友关系,询问某两个人是不是朋友。请编写一个程序来解决这个问题吧。输入格式第一行:三个整数 n,m,p(n≤5000,m≤5000,p≤5000),分别表示有 n 个人,m 个朋友关系,询问 p 对朋友关系。接下来 m 行:每行两个数Ai,Bi(0<=Ai,Bi<=N)表示 Ai和 Bi具有朋友关系

2021-03-01 17:28:55 79

原创 NOIP24

n个最小和给出两个包含 nn 个整数的数组 AA,BB。分别在 AA, BB 中任意出一个数并且相加,可以得到 n^2n2个和。求这些和中最小的 nn 个。输入格式输入第一行一个整数 n(1 \le n \le 50000)n(1≤n≤50000)。接下来一行输入数组 AA,用空格隔开。接下来一行输入数组 BB,用空格隔开。1 \le A_i, B_i \le 10^9 1≤A i ,B i ≤ 10^9 次方输出格式从小到大输出最小的 nn 个和,用空格隔开。样例输入复制41 3

2021-03-01 17:18:04 218

原创 NOIP23

任务系统蒜头君设计了一个任务系统。这个系统是为了定时提醒蒜头君去完成一些事情。系统大致如下,初始的时候,蒜头君可能会注册很多任务,每一个任务的注册如下:Register Q_num Period表示从系统启动开始,每过 PeriodPeriod 秒提醒蒜头君完成编号为 Q_{num}Qnum​ 的任务。你能计算出蒜头君最先被提醒的 kk 个任务吗?输入格式第一行输入 n(0 < n \le 3000)n(0<n≤3000),k(0 < k \le 10000)k(0&l

2021-03-01 17:14:27 109

原创 NOIP22

蛇形矩阵输入两个整数n和m,输出一个n行m列的矩阵,将数字 1 到 n*m 按照回字蛇形填充至矩阵中。具体矩阵形式可参考样例。输入格式输入共一行,包含两个整数n和m。输出格式输出满足要求的矩阵。矩阵占n行,每行包含m个空格隔开的整数。数据范围1≤n,m≤100输入样例:3 3输出样例:1 2 38 9 47 6 5...

2021-03-01 17:09:45 92

原创 NOIP21

“敲7有一种酒桌游戏叫做“敲7”,规则是从一个人开始,说出任意数字,其他人会顺序往后报,如果一个数字包含 77,或者是 77 的倍数,那么需要敲打杯子或盘子,不能说出。现在 nn 个人围坐在一个圆桌周围,他们编号从 11 到 nn 顺时针排列。从某一人开始报出一个数字,其他人会按照顺时针方向顺序往后报(加一),如果某个人的数字包含 77,或者是 77 的倍数,那么他将退出游戏,下一个人继续接着报,直到剩一个人为止。输入格式第一行输入三个整数,nn,mm,tt。nn 代表总人数,mm 代表从第 mm

2021-03-01 17:08:54 577

原创 NOIP20

报数有 nn 个小朋友做游戏,他们的编号分别是 1,2,3…n1,2,3…n。他们按照编号从小到大依次顺时针围成一个圆圈,从第一个小朋友开始从 11 报数,依次按照顺时针方向报数(加一),报 mm 的人会离开队伍,然后下一个小朋友会继续从 11 开始报数,直到只剩一个小朋友为止。输入格式第一行输入两个整数,nn,mm。(1 \leq n,m \leq 10001≤n,m≤1000)输出格式输出最后一个小朋友的编号,占一行。样例输入复制10 5样例输出复制3#include<iost

2021-02-28 23:08:39 120

原创 NOIP19

网页跳转蒜头君每天都在用一款名为“蒜厂浏览器”的软件。在这个浏览器中,一共三种操作:打开页面、回退和前进。它们的功能如下:打开页面:在地址栏中输入网址,并跳转到网址对应的页面;回退:返回到上一次访问的页面;前进:返回到上次回退前的页面,如果上一次操作是打开页面,那么将无法前进。现在,蒜头君打开浏览器,进行了一系列操作,你需要输出他每次操作后所在页面的网址。输入格式第一行输入一个整数 n(0 < n \le 100000)n(0<n≤100000),表示蒜头君的操作次数。接下来一共

2021-02-28 23:05:45 138

原创 NOIP18

括号匹配蒜头君在纸上写了一个串,只包含’(‘和’)’。一个’(‘能唯一匹配一个’)’,但是一个匹配的’(‘必须出现在’)'之前。请判断蒜头君写的字符串能否括号完全匹配,如果能,输出配对的括号的位置(匹配的括号不可以交叉,只能嵌套)。输入格式一行输入一个字符串只含有’(‘和’)’,输入的字符串长度不大于 5000050000。输出格式如果输入括号不能匹配,输出一行"No",否则输出一行"Yes",接下来若干行每行输出 22 个整数,用空格隔开,表示所有匹配对的括号的位置(下标从 11 开始)。你可以

2021-02-28 23:01:03 89

原创 NOIP17

水果店蒜头君经营着一个不大的水果店。他认为生存之道就是经营最受顾客欢迎的水果。现在他想要一份水果销售情况的明细表,这样就可以很容易掌握所有水果的销售情况了。蒜头君告诉你每一笔销售记录的水果名称,产地和销售的数量,请你帮他生成明细表。输入格式第一行是一个整数 N(0 < N \le 1000)N(0<N≤1000),表示蒜头君有 NN 次成功的交易。其后有 NN 行数据,每行表示一次交易,由水果名称(小写字母组成,长度不超过 100100),水果产地(小写字母组成,长度不超过 100100)

2021-02-28 22:27:08 127

原创 NOIP16

蒜头君面试蒜头君来蒜厂面试的时候,曾经遇到这样一个面试题:给定 nn 个整数,求里面出现次数最多的数,如果有多个重复出现的数,求出值最大的一个。当时可算是给蒜头君难住了。现在蒜头君来考考你。输入格式第一行输入一个整数 n(1 \le n \le 100000)n(1≤n≤100000),接下来一行输入 nn 个 int 范围内的整数。输出格式输出出现次数最多的数和出现的次数,中间用一个空格隔开,如果有多个重复出现的数,输出值最大的那个。样例输入1复制51 1 2 3 4样例输出1复制1

2021-02-28 21:50:39 130

原创 NOIP15

一个正整数,如果交换高低位以后和原数相等,那么称这个数为回文数。比如 121121,23322332 都是回文数,13,456713,4567 不是回文数。任意一个正整数,如果其不是回文数,将该数交换高低位以后和原数相加得到一个新的数,如果新数不是回文数,重复这个变换,直到得到一个回文数为止。例如,5757 变换后得到 132(57 + 75)132(57+75),132132 得到 363(132 + 231)363(132+231),363363 是一个回文数。曾经有数学家猜想:对于任意正整数,经过

2021-02-28 21:04:02 97

原创 NOIP14

蒜头君学英语蒜头君快要考托福了,这几天,蒜头君每天早上都起来记英语单词。花椰妹时不时地来考一考蒜头君:花椰妹会询问蒜头君一个单词,如果蒜头君背过这个单词,蒜头君会告诉花椰妹这个单词的意思,不然蒜头君会跟花椰妹说还没有背过。单词是由连续的大写或者小写字母组成。注意单词中字母大小写是等价的。比如You和you是一个单词。输入格式首先输入一个 n(1 \le n \le 100000)n(1≤n≤100000) 表示事件数。接下来 nn 行,每行表示一个事件。每个事件输入为一个整数 dd 和一个单词 wor

2021-02-28 19:23:56 72

原创 NOIP13

计算集合的并给你两个集合,计算其并集,即 {A} + {B}{A}+{B}。注:{A} + {B}{A}+{B} 中不允许出现重复元素,但是 {A}{A} 与 {B}{B} 之间可能存在相同元素。输入格式输入数据分为三行,第一行有两个数字 n, m(0<n,m\leq 10000)n,m(0<n,m≤10000),分别表示集合 A 和集合 B 的元素个数。后两行分别表示集合 A 和集合 B。每个元素为不超出 int 范围的整数,每个元素之间用一个空格隔开。输出格式输出一行数据,表示合

2021-02-28 17:13:50 71

原创 NOIP12

堆积木蒜头君有 nn 块积木,编号分别为 11 到 nn。一开始,蒜头把第 ii 块积木放在位置 ii。蒜头君进行 mm 次操作,每次操作,蒜头把位置 bb 上的积木整体移动到位置 aa 上面。比如 11 位置的积木是 11,22 位置的积木是 22,那么把位置 22 的积木移动到位置 11 后,位置 11 上的积木从下到上依次为 1,21,2。输入格式第一行输入 22 个整数 n,m(1 \le n \le 10000, 0 \le m \le 10000)n,m(1≤n≤10000,0≤m≤100

2021-02-28 16:23:09 188

原创 NOIP11

打印锯齿矩阵锯齿矩阵是指每一行包含的元素个数不相同的矩阵,比如:13 5 2 6 122 3 431 6 2 7读入若干对整数 (x,y)(x,y),表示在第 xx 行的末尾加上一个元素 yy。输出最终的锯齿数组。初始时矩阵为空。输入格式第一行输入两个整数 n,m(1 \leq n,m \leq 10000)n,m(1≤n,m≤10000),其中 nn 表示锯齿数组的行数,mm 表示插入的元素总数。接下来一共 mm 行,每行两个整数 x,y(1 \leq x \leq n, 0 \le

2021-02-28 15:58:39 86

原创 NOIP10

输入一个十进制数 NN,将它转换成 RR 进制数输出。在 10 \le R \le 1610≤R≤16 的情况下,用’A’表示 1010,用’B’表示 1111,用’B’表示 1111,用’C’表示 1212,用’D’表示 1313,用’E’表示 1414,用’F’表示 1515。输入格式输入包含两个整数 N(N \le 10000)N(N≤10000) 和 R(2 \le R \le 16)R(2≤R≤16)。注意,NN 有可能是负整数。输出格式输出一行,表示转换后的数。样例输入复制23 1

2021-02-23 17:24:17 88

原创 NOIP9

蒜头君很无聊,现在有 NN 个数,其中第 i(1 \leq i \leq N)i(1≤i≤N) 个数是 A_iAi​ 。现在他先将 A_{l_1}, A_{l_1+1}…A_{r_1}Al1​​ ,Al1​ +1​ …Ar1​​ 从小到大排序。再将 A_{l_2}, A_{l_2+1}…A_{r_2}Al2​​ ,Al2​ +1​ …Ar2​​ 从大到小排序。请输出 AA 排序后的最终结果。输入格式第一行五个整数 N, l_1,

2021-02-23 17:23:35 87

原创 NOIP8

蒜头君想在学校中请一些同学一起做一项问卷调查,为了确保实验的客观性,他先用计算机生成了 n(1 \le n \le 100)n(1≤n≤100) 个 11 到 10001000 之间的随机整数,对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从小到大排序,按照排好的顺序去找同学做调查。请你协助蒜头君完成“去重”与“排序”的工作。输入格式共两行,第一行为一个正整数 nn。第二行有 nn 个用空格隔开的正整数,为所产生的随机数。输出格式第一行输出一个

2021-02-23 17:21:05 62

原创 NOIP7

计算两个非负整数 A,BA,B 的乘积,A,BA,B 可能会很大。输入格式第一行输入一个非负整数 AA。第二行输入一个非负整数 BB。A,BA,B 的长度不大于 500500。输出格式输出 A\times BA×B 的值。样例输入复制43211234样例输出复制5332114#include <iostream>#include <vector>using namespace std;vector<int> mul(vector<

2021-02-23 17:20:05 64

原创 NOIP6

计算两个非负整数 A,BA,B 的和。不过这一次有些特殊,A,BA,B 可能会很大。输入格式第一行输入一个非负整数 AA。第二行输入一个非负整数 BB。A,BA,B 的长度不大于 500500。输出格式输出 A+BA+B 的值。不要有多余的前导零。样例输入复制1231234样例输出复制1357#include <iostream>#include <vector>using namespace std;vector<int> add(vect

2021-02-23 17:19:09 60

原创 NOIP5

四平方和定理,又称为拉格朗日定理:每个正整数都可以表示为至多四个正整数的平方和。如果把 00 包括进去,就正好可以表示为四个数的平方和。比如:\displaystyle 5 = 0^2 + 0^2 + 1^2 + 2^25=02+02+12+22\displaystyle 7 = 1^2 + 1^2 + 1^2 + 2^27=12+12+12+22则对于一个给定的正整数 nn,可以表示为:n = a^2 + b^2 + c^2 + d^2n=a2+b2+c2+

2021-02-23 17:18:04 63

原创 NOIP4

给定一个 n \times mn×m 的矩阵 AA,求 AA 中的一个非空子矩阵,使这个子矩阵中的元素和最大。其中,AA 的子矩阵指在 AA 中行和列均连续的一部分。输入格式输入的第一行包含两个整数 n,m(1 \leq n,m \leq 50)n,m(1≤n,m≤50),分别表示矩阵 AA 的行数和列数。接下来 nn 行,每行 mm 个整数,表示矩阵 A_{i,j}(-1000 \leq A_{i,j} \leq 1000)Ai,j​ (−1000≤Ai,j​ ≤1000)。输出格式

2021-02-23 17:07:19 221

原创 NOIP3

给出一个 n\times mn×m 的整数矩阵,请你把这个矩阵顺时针旋转 90^{o}90o 以后输出。输入格式第一行输入两个整数 n,m(1 \le n, m\le 200)n,m(1≤n,m≤200),用空格隔开。接下来 nn 行,每行输入 mm 个整数,表示输入的矩阵。矩阵中元素都是 int 范围内的整数。输出格式输入 mm 行,每行 nn 个空格隔开的整数,表示旋转以后的矩阵。注意:每行末尾不能输出多余的空格。样例输入复制3 4-1 3 6 37 7 9 110 3 4 6样例

2021-02-23 16:59:53 81

原创 NOIP2

相信小伙伴们都学过斐波那契数列,它是这样的一个数列:1,1,2,3,5,8,13,21\cdots1,1,2,3,5,8,13,21⋯。用 f_nfn​ 表示斐波那契数列的第 nn 项,则有:f_1 = f_2 = 1f1​ =f2​ =1,f_n = f_{n-1} + f_{n-2} (n>2)fn​ =fn−1​ +fn−2​ (n>2)。输入一个 nn,求出 f_nfn​ 对 1000000007(10^9+7)1000000007(109

2021-02-23 16:01:13 93

原创 NOIP1

输入两个整数 a,ba,b,输出两个整数的和。输入格式第一行输入一个整数 TT,表示需要计算的次数。接下来 TT 行,每行输入两个用空格分隔的整数 a,ba,b。输出格式对于每次输入的 a, ba,b,输出 a + ba+b 的值。结果保证在 3232 位整型(int)范围内。样例输入复制51 23 45 67 89 10样例输出复制37111519#include<iostream>using namespace std;int main(){

2021-02-23 15:51:31 140

原创 字符串基础题目总结

1.字符串长度给定一行长度不超过100的字符串,请你求出它的具体长度。输入格式输入一行,表示一个字符串。注意字符串中可能包含空格。输出格式输出一个整数,表示它的长度。输入样例:I love Beijing.输出样例:15算法1C语言代码#include<string.h>#include<stdio.h>int main(){ char s[105]; gets(s); printf("%d",strlen(s)); re

2020-05-10 14:20:02 2876

原创 K-绝对值排序

#include<cstdio>#include<cmath>#include<algorithm>using namespace std;int main(){ int n, i, j, a[100], temp; while(scanf("%d",&n)&&n!=0) { for(i=...

2020-05-07 13:35:09 187

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除