C++
Botttt
小菜鸡
展开
-
leetcode二分算法学习笔记2021/10/10
因为vector是一个类模板,所以添加元素的时候要用到成员函数push_back vector<int> arr; int tmp = 0; while(cin>>tmp){ arr.push_back(tmp); } 二分查找的关键是数组有序,这里题目中已经说了有序了,就不用自己排序了 自己在vscode里写全部代码的时候,怎么才能让arr数组和target分开呢? 因为cin输入只要满足条件,则cin会返回true,所以要让while循环停止就要用到cin的成员函原创 2021-10-10 22:28:08 · 38 阅读 · 0 评论 -
1010 一元多项式求导 (25 point(s))
1010 一元多项式求导 (25 point(s)) 设计函数求一元多项式的导数。(注:xn(n为整数)的一阶导数为nxn−1。) 输入格式: 以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过 1000 的整数)。数字间以空格分隔。 输出格式: 以与输入相同的格式输出导数多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。注意“零多项式”的指数和系数都是 0,但是表示为0 0。 输入样例: 3 4 -5 2 6 1 -2 0 输出样例: 12 3 .原创 2021-05-27 11:10:58 · 69 阅读 · 0 评论 -
1007 素数对猜想 (20 point(s))
#include <iostream> using namespace std; bool isprime(int a){ for(int i=1;i*i<=a;i++){ if(a%i==0) return false; } return true; } int main(){ int N; int cnt=0; cin>>N; for(int i=5;i<=N;i++) //这一.原创 2021-05-24 14:09:21 · 59 阅读 · 0 评论 -
PAT 乙级 1005 继续(3n+1)猜想 (25 point(s))
卡拉兹(Callatz)猜想已经在1001中给出了描述。在这个题目里,情况稍微有些复杂。 当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程中遇到的每一个数。例如对n=3进行验证的时候,我们需要计算 3、5、8、4、2、1,则当我们对n=5、8、4、2 进行验证的时候,就可以直接判定卡拉兹猜想的真伪,而不需要重复计算,因为这 4 个数已经在验证3的时候遇到过了,我们称 5、8、4、2 是被 3“覆盖”的数。我们称一个数列中的某个数n为“关键数”,如果n不能被数列中的其他数字所覆...原创 2021-05-20 14:44:51 · 64 阅读 · 0 评论 -
PAT 乙级 1004 成绩排名 (20 point(s))
读入n(>0)名学生的姓名、学号、成绩,分别输出成绩最高和成绩最低学生的姓名和学号。 输入格式: 每个测试输入包含 1 个测试用例,格式为 第 1 行:正整数 n 第 2 行:第 1 个学生的姓名 学号 成绩 第 3 行:第 2 个学生的姓名 学号 成绩 ... ... ... 第 n+1 行:第 n 个学生的姓名 学号 成绩 其中姓名和学号均为不超过 10 个字符的字符串,成绩为 0 到 100 之间的一个整数,这里保证在一组测试用例中没有两个学生的成绩是相同的。 输出格式: 对.原创 2021-05-20 11:55:34 · 80 阅读 · 0 评论 -
PAT乙级题目 1003 我要通过!
“答案正确”是自动判题系统给出的最令人欢喜的回复。本题属于 PAT 的“答案正确”大派送 —— 只要读入的字符串满足下列条件,系统就输出“答案正确”,否则输出“答案错误”。 得到“答案正确”的条件是: 字符串中必须仅有P、A、T这三种字符,不可以包含其它字符; 任意形如xPATx的字符串都可以获得“答案正确”,其中x或者是空字符串,或者是仅由字母A组成的字符串; 如果aPbTc是正确的,那么aPbATca也是正确的,其中a、b、c均或者是空字符串,或者是仅由字母A...原创 2021-05-20 11:41:49 · 59 阅读 · 0 评论 -
数据结构作业BFS搜索有向图并返回从各个结点到零结点的步数
数据结构作业 使用BFS解决边长为1的图的单源最短路问题(有向图)输入: 第一行是两个由空格隔开的正整数, n m。 n为点数,m为边数。 n小于等于10000,m小于等于100000。 点的编号为0 ~ n-1 接下来的m行,每行为两个由空格隔开的非负整数x y,表示从x点到y点有一条边。 输出: n个整数,由空格隔开。分别表示0 ~ n-1号结点距离0号结点的最短路径长度。(每条边长度视为1) 0号点与自己的最短路径长度是0。 注意:图可能不连通!不连通的点请输出-1 代码如下,完全手敲,实在原创 2021-05-16 22:40:19 · 109 阅读 · 0 评论 -
使用DFS求无向图的连通分量个数(用邻接表存图)
Input: 第一行是两个由空格隔开的正整数 n m n为结点数目,m为边书 n<=1e5 m<=1e6 (点的编号为0~n-1) 接下来的m行,每行为两个由空格隔开的非负整数 x y,表示 x点和 y点之间有一条边 Output: 1个整数,表示连通分量的个数 虽然不是很难,但是初学者可能要花很长时间才能独立写出来(包括我自己) #include <iostream> #include <cstdio> #include <cstring...原创 2021-05-13 09:10:00 · 1990 阅读 · 0 评论 -
PAT乙级1002 学习代码
学习别人的代码,有些地方不是很好,但还是能优化自己代码的部分,switch那一段 #include <cstdio> #include <cmath> //写函数的思想挺好 int Process(char a[]){ int res = 0; for(int i = 0; a[i] != '0';i++){ res+=a[i]-'0'; } return res; } int main(){ char num[110];/原创 2021-05-10 19:37:15 · 55 阅读 · 0 评论