- 博客(38)
- 收藏
- 关注
原创 如何让word中代码更优雅美观【图解】【可微调】
方法综述近期也搜了网上各种解决方法。大致有几种:利用notepad++来实现 (操作路径有点长,比较麻烦)自己在word做模版 (这个模版折腾下来倒是可以一劳永逸,但是不支持不同语言的高亮)国外的 www.planetb.ca 网站进去太慢了,体验很不好。在知乎上,找了很久找了一个小众的用起来比较方便的网站在线生成高亮代码粘贴到word中即可链接:http://www.codeinword.com/codelnword步骤word中的代码能够根据语言来进行关键词高亮步骤:输入代码—选
2021-04-21 18:18:27
3510
原创 P1101 单词方阵 数组控制无规律一串
注意://这个可以缩减重复代码,用角标即可char p[9]={‘y’,‘i’,‘z’,‘h’,‘o’,‘n’,‘g’};using namespace std;#include <iostream>char a[105][105];//这个可以缩减重复代码,用角标即可char p[9]={'y','i','z','h','o','n','g'}; int flag[105][105];int dx[8]={0,1,0,-1,1,1,-1,-1};int dy[8]={1,.
2021-04-01 13:07:56
120
1
原创 P2404 自然数的拆分问题 回溯
using namespace std;#include <iostream>int c;int r[30]={1};void split(int n,int t)//n表示要分割的数,t表示前面已经确定好t-1个数{ int i,j; for(i=r[t-1];i<=n;i++) { cout<<endl<<"i:"<<i<<endl; n=n-i; r[t]=i; if(n==0)..
2021-04-01 11:23:55
186
原创 P1162 填涂颜色 1.DFS判断条件增加 2.加个行走边缘
注意:搜索到墙/已经访问过的就停注意加一个可以走的框using namespace std;#include <iostream>#include <algorithm>#include <cmath>char a[40][40];int fx[4][2]={{1,0},{-1,0},{0,1},{0,-1}};int n;void dfs(int x,int y){ if(x>n+1||x<0||y>n+1||y<.
2021-03-31 20:15:22
73
原创 P1287 盒子与球 DP
AC代码using namespace std;#include <iostream>//初始化1 int f[20][20]={1};int main(){ int n,r,i,j; cin>>n>>r; //i个球填到j盒子里种类f[i][j] //最后一个球,j个盒子满了有j种 ,没满就放在最后一个盒子里 //f[i][j]=f[i-1][j]*j+f[i-1][j-1] for(i=1;i<=n;i++) { for(j.
2021-03-30 13:46:40
126
原创 P5250 木材仓库 set
set的函数set默认从小到大排序好且不重复set增删查遍历using namespace std;#include <iostream>#include <cmath>#include <set>int main(){ int n,i,a1,a2; cin>>n; set<int,less<int> > s; s.insert(2000000005); for(i=0;i<n;i++) { /.
2021-03-29 00:41:02
133
原创 P1918 保龄球 map
map<key_type,value_type> m;map功能:自动建立key -> value的对应。key 和 value可以是任意类型map的详细使用#include <iostream>#include <map>#include <map>using namespace std;map <int ,int > t; int main() { int n,Q,m; ..
2021-03-29 00:34:08
169
原创 P1631 序列合并 选前n个剪枝
for(i=1;i<=n;i++) for(j=1;j<=n/i;j++) //选i*j的前n个数推入 queue.push(数)读头 a=queue.top()弹出 queue.pop()using namespace std;#include <iostream>#include <algorithm>#include <queue>priority_queue<int,vector<int>,gr.
2021-03-28 12:38:33
54
原创 P1241 括号序列 匹配判断
匹配上还要判断,如果最早找到’[’ ,这个’)’ 就没匹配从当前右括号往前找,找个线性数组标记有没有匹配上using namespace std;#include <iostream>#include <cstring>char a[200];int f[200];//标记1表示匹配上,0表示未匹配上,全局变量固定是1 int main (){ int i,j; cin>>a; for(i=0;i<strlen(a);i..
2021-03-23 22:29:34
90
原创 P1928 外星密码 输入方法有妙招 递归处理
注意点:逐个输入while(cin>>ch)用ctrl+z输入数字直接cin,不要直接字符串输入递归处理想明白AC代码using namespace std;#include <iostream>#include <cstring>string unzip(){ char ch; string a; while(cin>>ch) { if(ch=='[') //输入[之后输入数字,解压里面的,重复.
2021-03-23 19:52:45
139
原创 P1042 乒乓球21分制。输入控制+乒乓常识
注意:乒乓球11分制是(某人>=11&&两人分差>=2)while(cin>>ch&&ch!=‘E’)a[i++]=ch一个个先存进去AC代码using namespace std;#include <iostream>#include <cstring>#include <cmath>void pk(char a[],int n){ int i=0; int w=0,l=0; .
2021-03-22 19:29:38
305
原创 P1328 生活大爆炸版石头剪刀布 手动打表
注意:打表不是对称矩阵,p[i][j] = -p[i][j]手动打表要细心一点int p[5][5]={{0,-1,1,1,-1},{1,0,-1,1,-1},{-1,1,0,-1,1},{-1,-1,1,0,1},{1,1,-1,-1,0}};//判断表,p[i][j]是出i与出j;-1表示输,0表示平,1表示赢得using namespace std;#include <iostream>#include <cstring>int p[5][5]={{0,.
2021-03-22 17:07:21
75
原创 P1106 删数问题 找规律
题目解答:寻找最靠前的峰值最小新整数找那个拐点,就是删除从开始打破递增的那个数12345627不是删除最大的那个数7!,而是6!,1234562》1234527那什么规律呢,如果删掉2,1345627;如果删掉3,1245627;如果删掉4,1235627其实这个影响数大小的是,最靠前的那几个数,如果前面递增序列中间的数,后面的替补上来肯定大所以还是找到打破开头递增序列那个数!!,然后删掉注意:前导0,char数组变成int就会避免这个注意删除时最后补个0using names.
2021-03-21 20:00:40
101
原创 P1090 合并果子 priority_queue
这题代码简单的关键优先队列:先看一下c++优先队列(priority_queue)用法详解题目解答:注意:合并之后比不一定按照例题那样,立马用上合并的,很有可能还有比他们更小的类似1 2 2 2 31 2合并; 2 2合并; 3 1+2合并; 2+2 3+1+2合并用优先队列(升序的小顶堆),依次pop提出来top最小的那俩合并,再push放进去一般队列操作:top 访问队头元素size 返回队列内元素个数push 插入元素到队尾 (并排序)pop 弹出队头元素empty 队
2021-03-21 17:44:26
142
原创 P1031 均分纸牌 平均值差值的右转移
解题思路 减去平均值 如果不是平均值,就把差出来的加到右面去,自己变成均值,如果是就跳过 最后大家数都变成一样了AC代码:using namespace std;#include <iostream>#include <algorithm>#include <cmath>int main (){ int n,i,f,s=0,ans=0; cin>>n; int a[n]; //减去一个平均数 for.
2021-03-21 16:03:51
83
原创 P1387 最大正方形 DP
输入15 100 0 0 0 1 0 0 0 1 00 0 0 0 0 0 0 0 0 10 1 1 1 1 1 0 0 0 00 1 1 1 1 1 0 0 0 00 0 0 0 1 0 1 1 0 00 0 0 0 0 0 0 0 1 00 0 0 0 1 1 1 1 1 11 0 0 1 1 1 1 1 1 01 0 0 0 1 1 1 1 1 01 0 0 0 1 1 1 1 1 01 1 0 0 1 1 1 1 1 01 0 0 0 1 1 1 1 1 01 0 0.
2021-03-21 01:28:32
108
原创 P1024一元三次方程求解。暴力出奇迹
注意:暴力出奇迹using namespace std;#include <iostream>#include <algorithm>#include <iomanip>int main (){ double a,b,c,d; double y1,y2,i,j; cin>>a>>b>>c>>d; for(i=-100;i<=100;i=i+0.001) { j=i+0.00.
2021-03-20 16:13:28
72
原创 P1014 Cantor 表
输入7输出1/4AC代码注意:找前一列是哪一列!!“=”要注意using namespace std;#include <iostream>#include <algorithm>#include <cmath>int main (){ int n,i; cin>>n; //个=h*(h+1)/2 int s=0; for(i=sqrt(n);i<=n;i++) { if(i*(i+1)/2<n&.
2021-03-20 14:33:41
80
原创 P1403约数个数求和
题目概述每个正数 N的约数的个数f(N)求:输入输出输入:一个n输出:求和题目求解含1的约数有n/1个,含2的约数有n/2个,,含i的约数有n/i个,整个遍历加一下就行using namespace std;#include <iostream>#include <algorithm>int main (){ int n,i,sum=0; cin>>n; for(i=1;i<=n;i++)
2021-03-19 22:19:53
91
原创 P1579 哥德巴赫猜想(升级版)。没想到2
题目背景1742年6月7日哥德巴赫写信给当时的大数学家欧拉,正式提出了以下的猜想:任何一个大于9的奇数都可以表示成3个质数之和。题目描述现在请你编一个程序验证哥德巴赫猜想。先给出一个奇数n,要求输出3个质数,这3个质数之和等于输入的奇数。输入输出格式输入:仅有一行,包含一个正奇数n,其中9<n<20000输出:仅有一行,输出3个质数,这3个质数之和等于输入的奇数。相邻两个质数之间用一个空格隔开,最后一个质数后面没有空格。如果表示方法不唯一,请输出第一个质数最小的方案,如果第一个质数最
2021-03-19 00:54:02
77
原创 P1325 雷达安装,区间找点问题
题目描述假设海岸线是一条无限延伸的直线。它的一侧是陆地,另一侧是海洋。每一座小岛是在海面上的一个点。雷达必须安装在陆地上(包括海岸线),并且每个雷达都有相同的扫描范围d。你的任务是建立尽量少的雷达站,使所有小岛都在扫描范围之内。数据使用笛卡尔坐标系,定义海岸线为x轴。在x轴上方为海洋,下方为陆地。输入输出格式输入格式:第一行包括2个整数n和d,n是岛屿数目,d是雷达扫描范围。接下来n行为岛屿坐标。输出格式:一个整数表示最少需要的雷达数目,若不可能盖所有岛屿,输出“-1”。题目解答注意点:s
2021-03-18 16:17:08
165
原创 P1012 拼数 a+b>b+a
题目描述设有 n 个正整数,将它们联接成一排,相邻数字首尾相接,组成一个最大的整数。输入输出格式输入格式:第一行有一个整数,表示数字个数 n。第二行有 n 个整数,表示给出的 n 个整数输出格式:一个正整数,拼的最大整数输入输出样例输入313 312 343输出34331213题目解答错误代码:char类型函数strcat,+拼接strcmp,比较strcpy,=赋值!!!错误代码,没考虑到strcmp的123>12,然而不应该这样using names
2021-03-18 11:42:34
127
原创 P3799 妖梦拼木棒
题目描述有 nn根木棒,现在从中选 4 根,想要组成一个正三角形,问有几种选法?答案对 10^9+7取模。输入输出格式输入:第一行一个整数 n。第二行 n 个整数,第 i 个整数 a_i,代表第 i 根木棒的长度。输出:一行一个整数代表答案。题目解答主要是对长度进行计算和处理…因为ai的数值偏小。注意:两个小棒的长度是否相等注意数组的下标是否越界,和为了效率的控制跳跃using namespace std;#include <iostream>#include &l
2021-03-10 23:44:46
180
原创 P1149 火柴棒等式
题目解答注意如果十分混乱就全部算咯,算前1000个,把1-1000表示出来0在这里比较特殊,没算进去,要特地改一下AC代码如下:using namespace std;#include <iostream>#include <cstring>int k[10]={6,2,5,5,4,5,6,3,7,6};int main (){ int i,j,n; int sum=0; cin>>n; //求1000..
2021-03-10 21:37:38
66
原创 P1618 三连击(升级版)【全排列next_permutation】
题目描述将 1,2,…,9 共 9 个数分成三组,分别组成三个三位数,且使这三个三位数的比例是 A:B:C,试求出所有满足条件的三个三位数,若无解,输出 No!!!。输入输出格式输入:三个数,A,B,C。输出:若干行,每行 33 个数字。按照每行第一个数字升序排列。输入输出样例输入1 2 3输出192 384 576219 438 657273 546 819327 654 981题目解答!!注意点:全排列的使用do{ }while(next_per
2021-03-10 20:44:51
394
原创 P2415 集合子集元素求和 输入控制 元素被选中次数
题目描述给定一个集合s(集合元素数量<=30),求出此集合所有子集元素之和。输入输出格式输入:集合中的元素(元素<=1000)输出格式:和输入输出样例输入2 3输出10题目求解题目推导:每个元素都有2^(n-1)被选中题目注意:while(cin>>a),最后调试ctrl+z公式sum* 2^(n-1)AC代码如下:using namespace std;#include <iostream>#include <cm
2021-03-10 14:41:25
215
原创 P5735 距离double
这个题比较简单,但是没满分 注意:double!!!!iomanip头文件 fixed<<setprecision(2)AC代码如下using namespace std;#include <iostream>#include <iomanip>#include <cmath>int main (){ double x1,y1,x2,y2,x3,y3; cin>>x1>>y1>>x2.
2021-03-09 21:57:55
84
原创 P1217回文质数[打表][素数筛选]
题目描述因为 151 既是一个质数又是一个回文数(从左到右和从右到左是看一样的),所以 151 是回文质数。写一个程序来找出范围 [a,b] (5 <=a < b <=100,000,000)[a,b]间的所有回文质数。输入输出格式输入:第 1 行: 二个整数 a 和 b .输出:输出一个回文质数的列表,一行一个题目解答打表!!,用素数筛选+回文判断快速筛选形成素数表之后判断是不是回文数打表代码,将数存在文件里,AC代码在最下面:!!保存文本文件的头文件和套话
2021-03-09 14:18:28
302
原创 CF777A Shell Game 扣碗猜球
题目描述Bomboslav likes to look out of the window in his room and watch lads outside playing famous shell game. The game is played by two persons: operator and player. Operator takes three similar opaque shells and places a ball beneath one of them. Then he s
2021-03-08 18:25:54
287
原创 CF550C Divisibility by Eight 去掉一些位数,可以被8整除
题目描述给你一个位数不超过 100 的非负整数 N(不含前导 0)。你的任务是判断这个数字能否通过去掉其中的一些位上的数(当然不能去掉全部),使其成为一个能被 8 整除的正整数(不含前导 0)。特别注意:你不能重新排列数字的顺序。输入输出格式输入:一行,表示正整数 N。保证 N 不超过 100 位。输出:如果不能达成条件,则输出 “NO”(不含引号);如果可以,输出 “YES”,并在第二行输出最终能被 8 整除的那个结果。如果有多解,则输出任意解。输入输出案例题目解决重点思路: 这个题有
2021-03-08 18:15:37
546
原创 CF1063A Oh Those Palindromes回文计数最大值
这个题主要是对输入的串进行变换使得回文计数最大值这是给的样例,这个题的样例实是在误导,其实回文串最多时有很多相同的情况,输出一个就行。解题的思想就是:把所有相同的字母放到一起比如oooll简单解释:考虑n个’a’连在一起,此时有n*(n-1)/2个回文子串。再在其中插入一个’b’,答案一定会变小,因为此时把原串拆成了两部分,可同理至多字母的。有了想法之后的!!!错误代码,自己写算法排个序,超时了TLE了;之后看一些题解可以用sort,快排一下,代码如下:#include <iostre
2021-03-03 17:16:20
113
2
原创 P5015不考虑回车、空格的字符串长度计算
注意细节:1.读取带空格的输入2.换行符的表示using namespace std;#include <iostream>#include <cstring>int main (){ int a=0,i; char c[10]={0}; cin.getline(c,sizeof(c)); //cin>>c;不对!!! for(i=0;i<strlen(c);i++) { if(c[i]!='.
2021-02-07 11:08:08
205
原创 P5731蛇形方阵题解
下图是整体的移动思路,以5*5作为例子;重点在于直行判停和转弯下面是代码var foo = ‘bar’;```javascript// An highlighted blockvar foo = 'bar';
2021-02-06 23:20:03
233
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人