11 2022 档案
摘要:本题我们可以定义一个二维数组a[猪的数量][房子数量]来代表不同猪的个数和不同房子数量情况下的方案数量 先考虑比较简单的几种情况吧,房子数量大于猪的数量,那么 方案数就是0;房子数量等与猪的数量,那么方案数就是1. 最后就是猪的数量大于房子数量,这就要开始体现递归的思想了,很明显直接用排列组合或者其
阅读全文
摘要:这题其实也是暴力枚举,但是不能一个数字一个数字输出,要一行一行输出,这就要对每种情况进行遍历 建议还是自己写吧,一行一行输出就彳亍了,也不算难题,给代码太长了也不一定能理解。 点击查看代码 #include<stdio.h> #include<stdlib.h> #include<math.h> i
阅读全文
摘要:该题可以直接用暴力枚举实现,只不过可以对这些算法进行优化,使其更加简洁。 点击查看代码 #include<stdio.h> #include<string.h> #include<math.h> int main() { int k,i,j,s,p,q,t=0; char a[11][11],b[1
阅读全文
摘要:这道题其实本身有点超纲,有点涉及动态规划的内容了,即求最大上升子序列的最大的和 写不出来很正常,不用觉得自己菜哈哈哈哈哈,实在不彳亍跳过也是可以的,那我就直接放代码了 点击查看代码 #include<stdio.h> int main(void) { int n; int a[1000]; int
阅读全文
摘要:题目并不难,但是这道题目要注意题目中很关键的一句--“最萌重量差” 的果子可能不只一组,但同一个果子不能同时出现在多个组合中 也就是说如果有多组身高差一样的果子,我们也要输出 点击查看代码 #include<stdio.h> #include<algorithm> using namespace s
阅读全文
摘要:可以利用cishu数组来记录每个数字是否被淘汰。 本题的关键就是再算出如题的数组b的时候向a数组检查是,不能因为第一个数被淘汰而不算他的吉祥数,应在一轮计算结束的时候遍历要淘汰的数字,故cishu数组可以等于一,在检查结束后再将其加一。 点击查看代码 /*本题的关键就是再算出如题的数组b的时候向a数
阅读全文
摘要:该题可以运用while循环直到剩余的空瓶不够换一个新的墨汁,但注意,题目中说了如果差了一个空瓶也是可以再换一个的 点击查看代码 #include<stdio.h> #include<string.h> #include<math.h> int main() { int n, m, i, j, k=0
阅读全文
摘要:这道题如果用普通的冒泡排序,插入排序,选择排序基本上都会时间超限,那不如用c++的sort,方便又快捷,既然都用了c++的,那么他的string定义字符串我们也可以学学 点击查看代码 #include <stdio.h> #include<string.h> #include<algorithm>
阅读全文
摘要:该题与前面的删除前导一样,之前我们是找到第一个不是的字符,那么现在一样的,我们可以从后往前找,找到第一个不是的字符将其前面的删除(不输出) 点击查看代码 #include<stdio.h> #include<string.h> #include<math.h> int main() { char a
阅读全文
摘要:这题完数很简单的,就当练练手。 完数优化的话只用从2查找到n/2+1就行(简单优化); 自定义函数比较方便理解; 点击查看代码 #include <stdio.h> int ws(int x) { int sum=0; for(int i=1;i<x;i++) { if(x%i==0) sum+=i
阅读全文
摘要://本题考查的是二维数组的应用和strcmp和strcpy 仅需对输入的字符串进行排序便可。 点击查看代码 #include<stdio.h> #include<string.h> #include<math.h> int main() { char a[20][50],t[50]; int n,
阅读全文
摘要:提示中也说了,这题可以用循环列表来实现,但是其实我也不怎么会哈哈哈哈,这题也同样可以用简单的基础语法来实现,只不过我们需要对一个循环语句做些手脚,让他头尾相连。 点击查看代码 #include<stdio.h> #include<string.h> #include<math.h> int main
阅读全文
摘要:首先题目也很明确的要求了按照日期从前到后,若日期相同,则比的是名字从短到长顺序输出,长度相同的按字典序输出。如果没有生日相同的学生,输出None。 所以这题的一大难点也就是排序,如果我们先找出生日日期相同的人,在对其进行名字的排序,可能会十分复杂,所以我们可以先对其名字进行排序,再从中抽出日期相同的
阅读全文
摘要:如图所示,我们分成两步,先写简单的:如果不重合,那么我们h[2]<=h[3] || h[1]>=h[4] || l[2]<=l[3] || l[1]>=l[4],然后输出0就好了 接下来是重合的部分:因为你输入了两行代码,但是电脑是不知道哪个是左窗体的,盲目的左减右有可能导致负数的出现(当然你可以a
阅读全文
摘要:题目一点也不难哦,就是要学会二维数组的输入输出 但是不知为何这题有一个很奇怪的坑,如果你是AC:83% 那么恭喜你掉坑里了!!这道题目竟然有一个检测点在最后的时候加\n 确实有点奇怪。 点击查看代码 #include<stdio.h> #include<string.h> int a[10010];
阅读全文
摘要:思路很简单,但实现起来有点麻烦。将前面2题融合(前两题我就觉得没必要放了哈哈哈哈),保留前面与后面的*都改成删除即可。 你会发现我的代码是前两个的融合。要学会融会贯通鸭:.゚ヽ(。◕‿◕。)ノ゚.:。+゚ 点击查看代码 #include <iostream> #include <cstdio> #i
阅读全文
摘要:这道题数据量很大,字符串长度很长,需要做特殊优化。 注意点:因字符数组可能过大,很显然将不能用循环一步一步检查下去,并且运用strlen函数更有可能时间超限。 因此我们应该改变思路,并不能使用搜索。 本题可利用桶的思想,将每个字符在数组A,B中出现的次数记录下来 ,并且若A数组中存在所有字母,那么就
阅读全文