随笔分类 -  入门训练

摘要:#include<cstdio> #include<iostream> using namespace std; #include<map> #include<cctype> #include<algorithm> #include<vector> map<string, int > mp; str 阅读全文
posted @ 2021-01-29 16:11 loliconsk 阅读(84) 评论(0) 推荐(0)
摘要:#include<cstdio> #include<iostream> using namespace std; #include<set> #include<sstream> int main(void) { set<string> sp;//set容器类似于集合,不会出现相同的值,并且会自动将值 阅读全文
posted @ 2021-01-29 14:40 loliconsk 阅读(61) 评论(0) 推荐(0)
摘要:#include<iostream> #include<algorithm> using namespace std; int marbles[10005]; int main(void) { int N, Q; int kcase = 0; while (scanf("%d %d", &N, &Q 阅读全文
posted @ 2021-01-28 17:07 loliconsk 阅读(63) 评论(0) 推荐(0)
摘要:话不多说直接,上代码,有注释,这题做到吐,一定要最后输出的格式,看了一个小时没看出来错,结果是最后多输出一个单词,淦 #include<stdio.h> #include<string.h> #include<stdlib.h> #define maxn 100 #define BIG 100000 阅读全文
posted @ 2021-01-27 19:54 loliconsk 阅读(143) 评论(0) 推荐(0)
摘要:需要了解<<运算符,它的意思就相当于*2,比如1<<1是2^1,1<<4是2^4 逐步分析这道题: 首先编码0,00,01,10......0000....用这些编码顺序代表编码头的字符,我们可以看到不同的编码长度能存放不同的编码数量,我们可以用一个二维数组保存它们,行数代表着编码长度,列数代表着该 阅读全文
posted @ 2021-01-27 14:11 loliconsk 阅读(195) 评论(0) 推荐(0)
摘要:学习c++后可以用sort,该篇代码用的qsort 先了解一下qsort 第一个参数是待排序的数组起始地址、第二个元素是元素个数,第三个元素是每个元素的大小,最后一个参数比较特别,是指向函数的指针 const void *a是指向常数的万能指针,他可以通过强制类型转化变成任意类型的指针,然后把参数a 阅读全文
posted @ 2021-01-26 19:24 loliconsk 阅读(89) 评论(0) 推荐(0)
摘要:给定6个矩形的长和宽wi和hi(i<=wi,hi<=1000),判断它们能否构成从长方体的六个面 需要了解pair,用pair来储存长和宽,同时需要知道,用sort给pair的数组排序时,会先按照第一个值从大到小排列,再考虑第二个值从大到小排列 思路: 将六个矩形储存在pair的数组中,将他们排序, 阅读全文
posted @ 2021-01-26 15:41 loliconsk 阅读(321) 评论(0) 推荐(0)
摘要:如果一个字符串可以由某个长度为k的字符串重复多次得到,则称该串以k为周期,例如,abcabcabcabc以3周期 输入一个长度不超过80的字符串,输出其最小周期 #include<stdio.h> #include<string.h> //这道题使用枚举,因为它是周期字符,所以它的字符数除以一个字符 阅读全文
posted @ 2021-01-26 00:15 loliconsk 阅读(118) 评论(0) 推荐(0)
摘要:这一题就像求n个元素中的最小值一样,设定好字符的起始位置ans,和判断的起始位置i,两个序列不断比较,如果序列ans比i大,那么ans = i,直到比较结束,输出最后从ans开始的序列 字典序:字符串在字典中的顺序,当两个字符串比较,遇到第一个不相同的字符时,比较两个字符大小,字符大的字典序大,反之 阅读全文
posted @ 2021-01-25 17:08 loliconsk 阅读(76) 评论(0) 推荐(0)
摘要:第一眼看到这题,会觉得这道题很简单,只要每一个值枚举就好了,但是他并不是一次性的去得出结果,多组数据,每次执行都需要n次,当n非常大的时候,就会超时,所以我们不妨将他们的数据全部保存起来,比如当1是generator时,他的结果是x,将x作为下标,将1作为value,其实有点类似于哈希表,每次输入一 阅读全文
posted @ 2021-01-25 15:27 loliconsk 阅读(81) 评论(0) 推荐(0)
摘要:本题的难点在于求B,如何求B: 题中说B是有多少数字在两个序列都出现过并且位置不对,比如答案序列是1的有2个,猜测序列是1的有1个,我们取其中最小的加到B中,也就是说序列中的每个数字是独立的,尽管大小相等,但是每个相互独立,将这样的每个最小值加到一起便是B的值,但不要忘了还有已经位置相同的数字,所以 阅读全文
posted @ 2021-01-24 17:06 loliconsk 阅读(220) 评论(0) 推荐(0)
摘要:解析:该题分为两个部分,一个是判断是否为回文数,一个是判断是否为镜像数 回文数:利用循环判断前面的字符和该字符对称的后面字符是否一致,如果遇到不一致就不是回文数 镜像数:利用循环判断前面字符的镜像字符和该字符对称的字符是否一致,如果遇到不一致就不是镜像数 了解ctype头文件,该题中用到了isalp 阅读全文
posted @ 2021-01-24 14:05 loliconsk 阅读(123) 评论(0) 推荐(0)
摘要:c语言输入字符串可以使用gets,但gets是不安全的,因为可能在不知道的情况下溢出,但使用fgets是安全的,第一个参数是字符数组的首地址,第二个参数是字符串的最大数量,第三个参数一般会填stdin,从键盘输入 #include<stdio.h> int main(void) { char c[9 阅读全文
posted @ 2021-01-24 11:24 loliconsk 阅读(429) 评论(0) 推荐(0)
摘要:有n盏灯,编号为1~n。第一个人把所有灯打开,第二个人按下所有编号为2的倍数的开关(这些灯将被关掉),第三个人按下所有编号为3的倍数的开关(其中关掉的灯将被打开,开着的灯将被关闭),以此类推。一共有k个人,问最后有哪些灯开着?输入n和k,输出开着的灯的编号。k<=n<=1000 样例输入: 7 3 阅读全文
posted @ 2021-01-23 18:38 loliconsk 阅读(106) 评论(0) 推荐(0)
摘要:#include<stdio.h> #include<string.h> //c语言数组拷贝 int main(void) { int a[10]; int b[10]; for (int i = 0; i < 10; i++) { a[i] = i; } memcpy(b, a, sizeof(a 阅读全文
posted @ 2021-01-23 18:18 loliconsk 阅读(522) 评论(0) 推荐(0)
摘要:找出所有形如abc*de(三位数乘以两位数)的算式,使得在完整的竖式中,所有数字都属于一个特定的数字集合,输入数字集合(相邻数字之间没有空格),输出所有竖式。每个竖式前应有编号,之后应有一个空行。最后输出解的总数。具体格式见样例输出(为了便于观察,竖式中的空格改用小数点显示,但所写程序中应该输出空格 阅读全文
posted @ 2021-01-23 12:22 loliconsk 阅读(67) 评论(0) 推荐(0)
摘要:输入正整数a,b,c,输出a/b的小数形式,精确到小数点后c位。a,b<=10^6,c<=100/输入包含多组数据,结束标记为a=b=c=0 样例输入: 1 6 4 0 0 0 样例输出: case 1 : 0.1667 这道题要注意scanf中和printf中的%*lf这类*的区别,在scanf中 阅读全文
posted @ 2021-01-23 08:53 loliconsk 阅读(108) 评论(0) 推荐(0)
摘要:相传韩信才智过人,从不直接清点自己军队的人数,只要让士兵先后以三人一排、五人一排、七人一排地变换队形,而他每次只略一眼队伍的排尾就知道总人数了。输入包含多组数据,每组数据包含三个非负整数a,b,c,表示每种队形排尾的人数,(a<3,b<5,c<7),输出总人数的最小值(或报告无解)。已知总人数不小于 阅读全文
posted @ 2021-01-22 17:41 loliconsk 阅读(479) 评论(0) 推荐(0)
摘要:输入一些整数,求出它们的最小值,最大值和平均值(保留三位小数)。输入保证这些数都是不超过1000的整数 代码: #include<stdio.h> int INF = 1000000; int main(void) { //重定向输入输出文件,有很长的输入时很方便 freopen("input.tx 阅读全文
posted @ 2021-01-22 17:11 loliconsk 阅读(153) 评论(0) 推荐(0)
摘要:#include<stdio.h> //阶乘之和求最末六位 #include<time.h>//用于测试运行时长 #include<Windows.h> int main(void) { const int MOD = 1000000;//求后六位直接将数取模 int n; scanf("%d", 阅读全文
posted @ 2021-01-22 10:46 loliconsk 阅读(404) 评论(0) 推荐(0)