自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 资源 (3)
  • 收藏
  • 关注

原创 L2-010. 排座位(并查集)

背模板直接AC,没有任何坑点。#include<iostream>#include<cstring>using namespace std;int n,m,k,que[105],map[105][105];int getf(int k){ return que[k]==k?k:que[k]=getf(que[k]);}int merge(int a...

2018-03-29 19:27:34 228

原创 L2-024. 部落(并查集)

并查集,背模板就AC了,基本模板就是getf函数和merge函数,注意getf函数里面的que[k]=getf(que[k]),其中的que[k]=一定不能省略,这一步是压缩路径,如果少了这一步,非常容易运行超时!!!#include<iostream>#include<algorithm>using namespace std;int que[10005];i...

2018-03-29 15:47:16 195

原创 L2-021. 点赞狂魔

能用STL解决的问题都不叫问题。set是一个集合,S.size()表示的是不同标签的个数(即集合的大小)。#include<iostream>#include<set>#include<algorithm>using namespace std;typedef struct node{ string a; int count;...

2018-03-26 20:53:42 166

原创 L2-022. 重排链表

看注释。与上一题相同的思路,在结构体中加入一个标记值flag将结构体按顺序排列,输出的话,每一个循环输出最后的结构体和最前的结构体,具体实现看代码。这题只有22分,并没有AC,由于能力有限,希望大佬指点一下,哪里可能会错,谢谢大佬。#include<iostream>#include<map>#include<algorithm>usi...

2018-03-26 20:20:49 218

原创 L2-002. 链表去重

已AC,具体过程看注释。#include<iostream>#include<map>#include<algorithm>using namespace std;typedef struct node{ int pre; int data; int next; int flag;//标记 0-100000为保留...

2018-03-26 19:16:26 207

原创 L1-043. 阅览室

用一个book数组标记一下这本书是否被借了,如果被借了,那么下次归还的时间就计算时间,两个测试点有坑。关于第一个测试点,如果一本书被第一个人借了,在他还书之前另一个人也借了这本书,则用另一个人的借书信息覆盖第一个人的信息。#include<iostream>#include<cstring>using namespace std;int main(){ ...

2018-03-23 10:47:10 436

原创 L3-004. 肿瘤诊断

这题并不难,一个三维BFS,不过很难AC,易错点写在注释里。#include<iostream>#include<cstring>using namespace std;typedef struct node{ int x; int y; int z;}Node;Node que[1300*130*70];int m,n,l,t;...

2018-03-22 20:59:42 275

原创 L2-005.集合相似度

vector容器内嵌入set容器vector<set<int> >V解释起来就是定义了一个vector容器,而vector中存的就是一个个set容器,由于set容器有自动去重功能,所以该题采用此方法较为简便。关于vector有不懂的地方可以参考【链接】关于set有不懂的地方可以参考【链接】#include<iostream>#include&l...

2018-03-22 20:49:55 310

原创 L2-020. 功夫传人

用了一个vector容器,具体参考C++函数库#include<iostream>#include<cstring>#include<vector>#include<algorithm>using namespace std;double z,r,sum=0,people[100005];//得道者vector<int&gt...

2018-03-20 20:53:38 184

原创 小白成长记之PTA乙级题 1084

PTA乙级题 1084. 外观数列 (20)【题目链接】事实证明还是string 好用。QAQ。AC代码#include<iostream>#include<string>using namespace std;int main(){ int i, j, k, n; string a, b; cin >&gt...

2018-03-20 19:58:38 352

原创 小白成长记之PTA乙级题 1083

PTA乙级题 1083. 是否存在相等的差 (20)【题目链接】#include<iostream>#include<cstring>using namespace std;int main(){ int i,a,n,map[100000]; memset(map,0,sizeof(map)); cin>>n; ...

2018-03-20 19:05:07 222

原创 小白成长记之PTA乙级题 1082

PTA乙级题 1082. 射击比赛 (20)【题目链接】真的水。#include<iostream>using namespace std;int main(){ int i,n,a,b,min=999999,fmin,max=0,fmax; cin>>n; int id[n],s[n]; for (i=0;i&lt...

2018-03-20 18:58:21 280

原创 小白成长记之PTA乙级题 1081

PTA乙级题 1081. 检查密码 (15)【题目链接】直接暴力吧#include<iostream>#include<cstring>#include<cctype>using namespace std;int main(){ int i,j,n,f1,f2; cin>>n; string a;...

2018-03-20 18:57:00 357

原创 畅通工程之局部最小花费问题(最小生成树)

给定两个数 N,M,其中 M 表示地图中点的个数, N 表示点与点之间的道路条数,然后 M 行,每一行给出三个数,A,B,C,表示两个村庄的编号(从1编号到N),和两个点道路的成本,求全图畅通的最小花费。思路分析建立一个邻接矩阵,将所有路径存入(详见第35行),一开始把所有点看成独立的点,然后取点 1 (其实一开始取哪一个点都可以,但是我们一般是习惯于取第一个点),然后计算节点 1 其...

2018-03-17 14:54:28 863 1

原创 计算二叉树的深度

给定一棵二叉树的先序遍历序列和中序遍历序列,要求计算该二叉树的深度。输入格式:输入首先给出正整数N(≤50),为树中结点总数。下面两行先后给出先序和中序遍历序列,均是长度为N的不包含重复英文字母(区别大小写)的字符串。输出格式:输出为一个整数,即该二叉树的高度。输入样例:9 ABDFGHIEC FDHGIBEAC输出样例:5#include<i...

2018-03-17 14:12:55 21647 1

原创 L2-011. 玩转二叉树

已知二叉树的中序遍历和前序遍历,求出它反转后的层序遍历反转的意思就是将这棵树的左子树和右子树调换位置输出,这题给的是中序遍历和前序遍历,其他和L2-006一样。/*71 2 3 4 5 6 74 1 3 2 6 5 7*4 6 1 7 5 3 2*/#include<iostream>#include<stdlib.h>using namespac...

2018-03-17 14:09:33 295

原创 树的三种遍历

/*72 3 1 5 7 6 41 2 3 4 5 6 7*4 1 6 3 5 7 2*/#include<iostream>#include<cstring>#include<cstdlib>typedef struct node{ struct node *left; struct node *right; in...

2018-03-15 19:58:09 211

原创 L2-006. 树的遍历

已知二叉树的后序遍历和中序遍历,求出它的层序遍历与前两个不同的是,层序遍历必须先建立一个树,然后BFS,就是广度优先搜索,不懂的话可以看【这篇文章】由于树的节点只能用指针指向,所以建立指针数组,再遍历就OK了。/*72 3 1 5 7 6 41 2 3 4 5 6 7*4 1 6 3 5 7 2*/#include<iostream>#include<...

2018-03-15 19:16:33 227

原创 二叉树的遍历(后序+中序)

已知二叉树的后序遍历和中序遍历,求出它的前序遍历与前一个不同的,二叉树的后序遍历的最后一个节点才是根节点,所以此时只需要用后序遍历的最后一个元素为标记,其他与前一篇文章一样,下面是代码。/*8GDAFEMHZADEFGHMZ* AEFDHZMG*/#include<iostream>#include<cstring>using namespac...

2018-03-15 18:57:43 205 1

原创 二叉树的遍历(前序+中序)

已知二叉树的前序遍历和中序遍历,求出它的后序遍历由于二叉树的前序遍历的首字母即是它的根节点,然后是左子树,最后是右子数,中序遍历的根节点又处于左子树和右子树之间,所以可以将中序遍历的每一个元素与前序遍历的首元素(即根节点)进行比较,当他们相等时,中序遍历就被分为了两个区间,然后根据中序遍历左边的区间长度和右边的长度,将前序遍历分为两个区间,再分别对左边的前序遍历和左边的中序遍历,右边的前序遍历...

2018-03-15 18:54:15 244

原创 L2-008. 最长对称子串

对给定的字符串,本题要求你输出最长对称子串的长度。例如,给定Is PAT&TAP symmetric?,最长对称子串为s PAT&TAP s,于是你应该输出11。输入格式: 输入在一行中给出长度不超过1000的非空字符串。输出格式: 在一行中输出最长对称子串的长度。输入样例: Is PAT&TAP symmetric?输出样例: 11#inclu...

2018-03-14 08:58:39 123

原创 宝岛探险(求岛的个数)

用0表示河,其他数字均表示为陆地,求地图中小岛的个数。/*1210000023302012101240101232013200012400000000153001210154300123136210003489750000037860120000000010*/#include<stdio.h>#include<string.h>int ma...

2018-03-04 16:02:07 313

原创 宝岛探险(求岛的大小)

小人掉落到了(5,7)的位置,(从第0行第0列数),其中用0表示河,其他数字均表示为陆地,求小人掉落的岛的大小。/*1210000023302012101240101232013200012400000000153001210154300123136210003489750000037860120000000010*/#include<stdio.h>#i...

2018-03-04 15:49:58 282

原创 炸弹人问题(加强版)

题设条件与上一题相同,但是只能在能走到的地方放置炸弹,小人的起始位置为第四行第四列。用'#'代表墙,'.'代表可以走的位置,'G'代表小怪兽。从第0行第0列开始数由于该题需要考虑到’ . ‘是否能走到,所以这题需要使用广度优先搜索找到他能走到的路径并求出在能走到的点放置炸弹消灭的小怪兽数量。分析此地图,在(1,11)放置炸弹最多消灭11个小怪兽,但是小人是无法走到这个位置的,所以正...

2018-03-04 14:51:24 487

原创 炸弹人问题(简单版)

有一个特殊关卡如下,你只有一枚炸弹,但是这枚炸弹威力超强(可以消灭炸弹所在的一整行和一整列的小怪兽),举个例子,当把炸弹放在(3,1)的’ . ‘上,由于炸弹不能穿墙,则炸弹在该位置可以消灭下面的三个小怪兽,那么问题来了,将炸弹放置在哪儿能消灭最多的小怪兽呢?用'#'代表墙,'.'代表可以走的位置,'G'代表小怪兽。从第0行第0列开始数由于该题应没有考虑到’ . ‘是否能走到,所以这题暴力...

2018-03-04 14:16:23 1408

原创 背单词软件(大一课设作业)

运行这个程序时,在同目录下新建一个名为123.txt的文本,并将depend on your background are two table containing problem the digit must be separated into groups of three by commas so if you are new to then you may prefer start wit...

2018-03-01 13:43:51 4452 7

吉如一几何板子

2018 world final 金牌 吉老师几何板子 struct point{ db x,y; point operator + (const point &k1;) const{return (point){k1.x+x,k1.y+y};} point operator - (const point &k1;) const{return (point){x-k1.x,y-k1.y};} point operator * (db k1) const{return (point){x*k1,y*k1};} point operator / (db k1) const{return (point){x/k1,y/k1};} int operator == (const point &k1;) const{return cmp(x,k1.x)==0&&cmp;(y,k1.y)==0;} point turn(db k1){return (point){x*cos(k1)-y*sin(k1),x*sin(k1)+y*cos(k1)};} point turn90(){return (point){-y,x};} bool operator < (const point k1) const{ int a=cmp(x,k1.x); if (a==-1) return 1; else if (a==1) return 0; else return cmp(y,k1.y)==-1; } db abs(){return sqrt(x*x+y*y);} db abs2(){return x*x+y*y;} db dis(point k1){return ((*this)-k1).abs();} point unit(){db w=abs(); return (point){x/w,y/w};} void scan(){double k1,k2; scanf("%lf%lf",&k1;,&k2;); x=k1; y=k2;} void print(){printf("%.11lf %.11lf\n",x,y);} db getw(){return atan2(y,x);} point getdel(){if (sign(x)==-1||(sign(x)==0&&sign;(y)==-1)) return (*this)*(-1); else return (*this);} int getP() const{return sign(y)==1||(sign(y)==0&&sign;(x)==-1);} };

2019-02-01

C语言带图形界面双人五子棋

内附源代码,有兴趣的小伙伴不如下载看看C语言图形界面的源码。纯C语言带图形界面的五子棋双人游戏,点击棋盘上的点即视为下棋,按ESC键即为悔棋,当达成赢的条件,界面自动锁死。

2018-10-23

魂斗罗小游戏

以前写的魂斗罗使用SDL, 现改为使用DirectX, 利用硬件缩放, 窗口模式时窗口更大, 且画面卷动更平滑稳定 操作: 全屏时, 按ESC退出游戏; 窗口时, 点右上角的X退出游戏 标题画面按回车进入游戏, 游戏中按回车暂停 方向键移动主角且确定射击方向 (斜向可) X跳跃, Z射击 S(按住不放)连跳, A(按住不放)连射 空格键换色, 主角有2种颜色可选, 分别可带自己的枪 options.ini文件提供了一些选项, 你可编辑修改它

2018-07-12

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除