算法

[CSP-J 2023 T1] 小苹果

查看题目 #include <bits/stdc++.h> using namespace std; int main() { int n; int nazou; int cnt = 0, cnt2 = -1; cin >> n; while (n > 0) { cnt++; nazou = n / 3; if (...

[CSP-J 2024 T2] 地图探险

查看题目 第一种方法,模拟算法。 #include <bits/stdc++.h> using namespace std; #define N 1010 int T; int n, m, k; int x, y, d; int fx[] = {0, 1, 0, -1}; int fy[] = {1, 0, -1, 0}; ...

[CSP-J 2024 T1] 扑克牌

查看题目 第一种方法,模拟算法 #include <bits/stdc++.h> using namespace std; int poker[4][15]; //D-0,C-1,H-2,S-3 //A-1,T-10,J-11,Q-12,K-13 int main() { int n, cnt = 0; int huase, dians...

P1163 银行贷款

查看题目 当一个人从银行贷款后,在一段时间内他(她)将不得不每月偿还固定的分期付款。这个问题要求计算出贷款者向银行支付的利率。假设利率按月累计。 #include <bits/stdc++.h> using namespace st...

P1102 A-B 数对

给出一串正整数数列以及一个正整数 C,要求计算出所有满足 A−B=C 的数对的个数(不同位置的数字一样的数对算不同的数对)。 #include <bits/stdc++.h> using namespace std; int x[200001]; int main...

P1824 进击的奶牛

农夫约翰建造了一座有 n 间牛舍的小屋,牛舍排在一条直线上,第 i 间牛舍在 xi​ 的位置,但是约翰的 m 头牛对小屋很不满意,因此经常互相攻击。约翰为了防止牛之间互相...

P1873 砍树

伐木工人 Mirko 需要砍 M 米长的木材。对 Mirko 来说这是很简单的工作,因为他有一个漂亮的新伐木机,可以如野火一般砍伐森林。不过,Mirko 只被允许砍伐一排树。 Mirko 的伐木机工作流程如下:Mir...

P2249查找

输入 n 个不超过 109 的单调不减的(就是后面的数字不小于前面的数字)非负整数 a1​,a2​,…,an​,然后进行 m 次询问。对于每次询问,给出一个整数 q,要求输出这个数字在序列中第一次出现的编号,如果没有找到的...

开灯问题详解

有100盏灯,编号为1~100。第1上人把所有灯打开,第2个人按下所有编号为2的倍数的开关(这些灯将被关掉),第3个人按下所有编号为3的倍数的开关(其中关掉的灯将打开,开着的灯将被关闭),依此类推,直到第100个...

Dijkstra算法

Dijkstra是用来求单源最短路径的。“单源”的意思就是说Dijkstra算法只能求一个顶点到其他点的最短距离而不能任意两点。对于Dijkstra算法而言,前提是它的前提条件是针对连通图,而且路径要有权值,并且权值不能为...