![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法笔记
miss writer
我也可以成为大佬,为世界开源做贡献。冲!!!
展开
-
洛谷 P1161 开灯
题目[https://www.luogu.com.cn/problem/P1161?contestId=62094]题解:#include <bits/stdc++.h>using namespace std;int s[2000001]={0}; //这里定义放在main里面就错了int main(){ int n; double a[n+1]; int t[n+1]; for(int i=1;i<=n;i++) scanf("%lf%d",&a[i],原创 2022-02-14 23:48:12 · 588 阅读 · 1 评论 -
P5723 质数口袋
题目描述小 A 有一个质数口袋,里面可以装各个质数。他从 2 开始,依次判断各个自然数是不是质数,如果是质数就会把这个数字装入口袋。口袋的负载量就是口袋里的所有数字之和。但是口袋的承重量有限,不能装得下总和超过100000的质数。给出 LL,请问口袋里能装下几个质数?将这些质数从小往大输出,然后输出最多能装下的质数个数,所有数字之间有一空行。输入格式一行一个正整数 L。输出格式将这些质数从小往大输出,然后输出最多能装下的质数个数,所有数字之间有一空行。#include <stdio.h&g原创 2022-02-11 23:35:09 · 223 阅读 · 0 评论 -
算法笔记PAT:B1019 数字黑洞
****加粗样式给定任一个各位数字不完全相同的 4 位正整数,如果我们先把 4 个数字按非递增排序,再按非递减排序,然后用第 1 个数字减第 2 个数字,将得到一个新的数字。一直重复这样做,我们很快会停在有“数字黑洞”之称的 6174,这个神奇的数字也叫 Kaprekar 常数。输入格式:输入给出一个 (0,104) 区间内的正整数 N。输出格式:如果 N 的 4 位数字全相等,则在一行内输出 N - N = 0000;否则将计算的每一步在一行内输出,直到 6174 作为差出现,输出格式见样例原创 2022-02-05 21:18:27 · 132 阅读 · 0 评论 -
贪心算法找零钱
题目描述小智去超市买东西,买了不超过一百块的东西。收银员想尽量用少的纸币来找钱。纸币面额分为50 20 10 5 1 五种。请在知道要找多少钱n给小明的情况下,输出纸币数量最少的方案。 1<=n<=99;输入有多组数据 1<=n<=99;输出对于每种数量不为0的纸币,输出他们的面值数量,再加起来样例输入2532样例输出20*1+5*120*1+10*1+1*2#include <iostream>#include<algorithm&g原创 2022-01-29 21:32:15 · 1564 阅读 · 0 评论 -
借鉴别人的代码讲一下八皇后问题
心得:这个八皇后问题一直困惑了很久,看到这篇文章对我帮助很大,一定要理解的是判断两个皇后是否冲突的条件,也就是要放置的皇后行与前一行皇后差的绝对值与列与前一个皇后列差的绝对值是否相等,这个一定要想明白。之后就是递归的实现,作者代码说的很详细,就不追叙了。#include <cstdio>#include <iostream>#include <cmath> #include <algorithm>using namespace std;/*转载 2022-01-26 23:37:42 · 88 阅读 · 0 评论 -
10个整数分奇偶排序
题目描述输入10个整数,彼此以空格分隔。重新排序以后输出(也按空格分隔),要求:1.先输出其中的奇数,并按从大到小排列;2.然后输出其中的偶数,并按从小到大排列。输入任意排序的10个整数(0~100),彼此以空格分隔。输出可能有多组测试数据,对于每组数据,按照要求排序后输出,由空格分隔。样例输入0 56 19 81 59 48 35 90 83 7517 86 71 51 30 1 9 36 14 16样例输出83 81 75 59 35 19 0 48 56 9071 51 17原创 2022-01-23 14:00:38 · 1112 阅读 · 1 评论 -
递增单链表去重复元素
#include<iostream>using namespace std;//根据一个递增的整数序列构造有序单链表,删除其中的重复元素struct node{ int data; node *next;};node * Create(int a[],int n){ node *head=new node; node *q; for(int i=0;i<n;i++){ node *p=new node; if(i==0) head->nex原创 2022-01-20 21:13:39 · 759 阅读 · 0 评论 -
逆置单链表
#include <iostream>using namespace std;//根据一个整数序列构造一个单链表,然后将其反转。//例如:原单链表为 2 3 4 5 ,反转之后为5 4 3 2struct node{ int data; node *next;}; node * reverse(node *head){ node *p=head->next; node *q=p->next; while(q!=NULL){ p->next=q原创 2022-01-20 19:47:26 · 726 阅读 · 0 评论