sdut
sdut训练题
成长的小牛233
一个很菜,仍然热爱技术热爱生活的程序猿
展开
-
SDUT 双向队列(队列)
#include#include#include#includeusing namespace std;int main(){ int a[30000],n,m=11000,data; int l=0,r=m,i=0; cin>>n; string str; for(int j=1;j<=n;j++) { cin>>s原创 2016-11-20 11:22:47 · 396 阅读 · 0 评论 -
sdut 数据结构实验之排序五:归并求逆序数
#include#includelong long ans;int a[100010],temp[100010];void merge(int s1,int e1,int s2,int e2){ int p1,p2,p; p=0;p1=s1;p2=s2; while(p1<=e1&&p2<=e2) { if(a[p1]<=a[p2]原创 2016-11-21 12:06:00 · 482 阅读 · 0 评论 -
sdut 图的深度遍历
图的深度遍历Time Limit: 1000MS Memory Limit: 65536KBSubmit Statistic DiscussProblem Description请定一个无向图,顶点编号从0到n-1,用深度优先搜索(DFS),遍历并输出。遍历时,先遍历节点编号小的。Input输入第一行为整数n(0 < n < 100),表示数据的组数。 对于每组数据,第一行是两个整数k...原创 2016-12-02 02:59:11 · 656 阅读 · 0 评论 -
sdut 二叉排序树
二叉排序树Time Limit: 1000MS Memory Limit: 65536KBSubmit Statistic DiscussProblem Description二叉排序树的定义是:或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值;原创 2016-12-02 02:35:09 · 588 阅读 · 0 评论 -
树结构练习——排序二叉树的中序遍历
树结构练习——排序二叉树的中序遍历Time Limit: 1000MS Memory Limit: 65536KBSubmit Statistic DiscussProblem Description在树结构中,有一种特殊的二叉树叫做排序二叉树,直观的理解就是——(1).每个节点中包含有一个关键值 (2).任意一个节点的左子树(如果存在的话)的关键值小于该节点的原创 2016-12-02 02:23:26 · 509 阅读 · 0 评论 -
sdut Message Flood
D - Message FloodTime Limit: 1500 MS Memory Limit: 65536 KB 64bit IO Format: %lld & %lluDescriptionWell, how do you feel about mobile phone? Your answer would probably be原创 2016-12-02 02:11:27 · 297 阅读 · 0 评论 -
sdut 数据结构实验之栈四:括号匹配
数据结构实验之栈四:括号匹配Time Limit: 1000MS Memory Limit: 65536KBSubmit Statistic DiscussProblem Description 给你一串字符,不超过50个字符,可能包括括号、数字、字母、标点符号、空格,你的任务是检查这一串字符中的( ) ,[ ],{ }是否匹配。Input 输入数据有多组,处理到文原创 2016-11-17 08:43:19 · 475 阅读 · 0 评论 -
sdut 最少拦截系统
最少拦截系统Time Limit: 1000MS Memory Limit: 65536KBSubmit Statistic DiscussProblem Description 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能超过前一发的高度.某天,雷达捕捉到敌国的导原创 2016-11-13 21:24:55 · 574 阅读 · 0 评论 -
sdut 懒虫小鑫
懒虫小鑫Time Limit: 1000MS Memory Limit: 65536KBSubmit Statistic DiscussProblem Description小鑫是个大懒虫,但是这一天妈妈要小鑫去山上搬些矿石去城里卖以补贴家用。小鑫十分的不开心。不开心归不开心,小鑫还是要做这件事情的。我们把这个事情简化一下。有n块矿石,设第i块矿石由两个数字wi原创 2016-11-13 21:22:36 · 775 阅读 · 0 评论 -
sdut 马的走法
马的走法Time Limit: 1000MS Memory Limit: 65536KBSubmit Statistic DiscussProblem Description在一个4*5的棋盘上,马的初始位置坐标(纵 横)位置由键盘输入,求马能返回初始位置的所有不同走法的总数(马走过的位置不能重复,马走“日”字)。如果马的初始位置坐标超过棋盘的边界,则输出ERROR转载 2016-11-13 21:20:32 · 476 阅读 · 0 评论 -
sdut 活动选择问题
活动选择问题Time Limit: 1000MS Memory Limit: 65536KBSubmit Statistic DiscussProblem Description sdut 大学生艺术中心每天都有n个活动申请举办,但是为了举办更多的活动,必须要放弃一些活动,求出每天最多能举办多少活动。Input 输入包括多组输入,每组输入第一行为原创 2016-11-13 21:16:00 · 871 阅读 · 0 评论 -
sdut 删数问题
删数问题Problem Description 键盘输入一个高精度的正整数n(≤100位),去掉其中任意s个数字后剩下的数字按照原来的左右次序组成一个新的正整数。编程对给定的n与s,寻找一种方案,使得剩下的数字组成的新数最小。Input 输入有多组 每组包括原始数n,要去掉的数字数s;Output 输出去掉s个数后最小的数Examp原创 2016-11-13 21:13:47 · 559 阅读 · 0 评论 -
sdut 数据结构实验之排序三:bucket sort
一开始这种做法超时:#include int b[5000000],a[5000000],n,ans;void merge_sort(int *a,int *b,int x,int y){ if(y-x>1) { int m=x+(y-x)/2;//中间点的坐标 int p=x,q=m,i=x; merge_sort(a,原创 2016-11-21 12:39:28 · 1191 阅读 · 0 评论 -
数据结构实验之排序六:希尔排序
#include#includeint n;int b[50000],a[50000];void shell(int a[],int dk){ for(int i=dk; i<n; i++) { for(int j=i-dk; j>=0; j-=dk) { if(a[j]>a[j+dk])原创 2016-11-21 13:03:00 · 650 阅读 · 2 评论 -
交叉排序
#include#includeint n;int b[50000],a[50000],c[50000];int main(){ while(~scanf("%d",&n)) { int l=0,p=0; for(int i=1; i<=n; i++) { scanf("%d",&a[i]);原创 2016-11-21 13:19:14 · 428 阅读 · 0 评论 -
sdut 双向队列(STL)
dequeq;//定义一个双向队列q,类型为long long q.push_front(a);//将a从队首插入队列 q.push_back(a);//将a从队尾插入队列 q.pop_front();//队首弹掉一个元素 q.pop_back();//队尾弹出一个元素 a=q.front();//返回队首元素 a=q.back();//原创 2016-11-20 17:15:11 · 483 阅读 · 0 评论 -
数据结构实验之栈六:下一较大值(二)
#include #include using namespace std;struct node{ int data; int next;//记录下一个元素死亡值 int pos;//用来记录每个元素的位置*/} a[100001],val[100000];int main(){ int t; while(~scanf("%d",&t))原创 2016-11-22 13:08:41 · 565 阅读 · 0 评论 -
顺序表应用1:多余元素删除之移位算法
顺序表应用1:多余元素删除之移位算法Time Limit: 1000MS Memory Limit: 650KBSubmit Statistic DiscussProblem Description一个长度不超过10000数据的顺序表,可能存在着一些值相同的“多余”数据元素(类型为整型),编写一个程序将“多余”的数据元素从顺序表中删除,使该表由一个“非纯表”(值相同原创 2016-11-11 12:31:52 · 376 阅读 · 0 评论 -
链表去重操作-两种方法的实现
#include#includetypedef struct list{ int data; list *next;}List;void create_list(list *&head,int len){ list *p=head; for(int i=0;i<len;i++) { list *pnew=(list*)malloc原创 2016-11-13 15:31:51 · 6090 阅读 · 0 评论 -
sdut 数据结构实验图论一:基于邻接矩阵的广度优先搜索遍历
第一次写BFS的题,从开始一脸懵逼到慢慢分析,期间没有看书没查博客,自己安静的做了四十分钟终于做出来了,满满的成就感,我很水,但是我很努力,Mr杰要努力!#include#include#include#includeusing namespace std;int map[1000][100];queue q;int k,m,t,u,v,to[1000],vis[1000];v原创 2016-11-23 16:43:34 · 433 阅读 · 0 评论 -
数据结构实验之数组三:快速转置
#include#includestruct node{ int x,y,v;}a[100000];int cmp(node a,node b){ return a.x<b.x;}int main(){ int m,n,t; while(~scanf("%d%d%d",&m,&n,&t)) { for(int i=0;i<t原创 2016-11-23 12:55:37 · 905 阅读 · 0 评论 -
数据结构实验之数组二:稀疏矩阵
#includestruct node{ int x,y,v;}a[100000];int main(){ int m,n,t; while(~scanf("%d%d%d",&m,&n,&t)) { for(int i=0;i<t;++i) { scanf("%d%d%d",&a[i].x,&a[i]原创 2016-11-23 12:51:21 · 512 阅读 · 0 评论 -
树结构练习——判断给定森林中有多少棵树-并查集
#include #include #include int vis[100002];int find(int x){ int f=x,i; while(vis[f] != f) { f=vis[f]; } while(x != vis[x]) { i=vis[x]; vis[x]=f;原创 2016-12-04 03:02:46 · 395 阅读 · 0 评论 -
sdut 数据结构实验之二叉树六:哈夫曼编码
#include #include #include #include using namespace std;int main(){ char s[10000]; while(scanf("%s",s)!=EOF) { priority_queue ,greater > Q;//利用优先队列,从小到大排序 int len原创 2016-12-04 02:41:16 · 1681 阅读 · 2 评论 -
数据结构实验之串一:KMP简单应用
#include#includeint next[1000000];char str[1000000],substr[1000000];void getnext(){ int i=0,j=-1; next[0]=-1; while(substr[i]!='\0') { if(j==-1||substr[i]==substr[j])原创 2016-11-21 19:30:44 · 1331 阅读 · 0 评论 -
数据结构实验之排序七:选课名单(卡内存的一道题。。坑)
RE。。。带更正#include#includeusing namespace std;#include#includestruct people{ char name[100]; int sum_class; int cl[2005];}a[40000],b[40000];int cmp(people a,people b){ char原创 2016-11-21 19:07:57 · 764 阅读 · 0 评论 -
数据结构实验之排序二:交换排序
手懒不想写。。。转自http://blog.csdn.net/godsight/article/details/52150172#includeusing namespace std;int a[100100];int b[100100];int cnta,cntb;void qsort(int *p,int n){ if(n<=1)return; int i=转载 2016-11-21 14:07:21 · 862 阅读 · 0 评论 -
sdut 装船问题
装船问题Time Limit: 1000MS Memory Limit: 65536KBSubmit Statistic DiscussProblem Description王小二毕业后从事船运规划工作,吉祥号货轮的最大载重量为M吨,有10种货物可以装船。第i种货物有wi吨,总价值是pi。王小二的任务是从10种货物中挑选若干吨上船,在满足货物总重量小于等于M的前提下,运走的货物原创 2016-11-13 21:09:28 · 661 阅读 · 0 评论 -
sdut 数字三角形问题
数字三角形问题Time Limit: 1000MS Memory Limit: 65536KBSubmit Statistic DiscussProblem Description给定一个由n行数字组成的数字三角形如下图所示。试设计一个算法,计算出从三角形的顶至底的一条路径,使该路径经过的数字总和最大。 对于给定的由n行数字组成的数字三角形,计算从三角形的原创 2016-11-13 21:06:41 · 656 阅读 · 0 评论 -
sdut 青蛙过河
青蛙过河Time Limit: 1000MS Memory Limit: 65536KBSubmit Statistic DiscussProblem Description1)一条小溪尺寸不大,青蛙可以从左岸跳到右岸,在左岸有一石柱L,石柱L面积只容得下一只青蛙落脚,同样右岸也有一石柱R,石柱R面积也只容得下一只青蛙落脚。 2)有一队青蛙从小到大编号:1,2,…,原创 2016-11-13 20:59:41 · 626 阅读 · 0 评论 -
sdut2118数据结构实验之链表三:链表的逆置
#include #include struct node{ int data; struct node *next;};int main(){ struct node *head,*p,*tail,*q,*r; head=(struct node*)malloc(sizeof(struct node)); head->next=NULL;原创 2016-11-06 15:07:42 · 3454 阅读 · 0 评论 -
sdut2117数据结构实验之链表二:逆序建立链表
#include #include struct node{ int data; struct node *next;};int main(){ int i,n; struct node *head,*p; head=(struct node*)malloc(sizeof(struct node)); head->next=NULL;原创 2016-11-06 15:06:16 · 2541 阅读 · 0 评论 -
sdut2116数据结构实验之链表一:顺序建立链表
#include #include struct node{ int data; struct node *next;};int main(){ int i,n; struct node *head,*p,*tail; head=(struct node*)malloc(sizeof(struct node)); head->next=N原创 2016-11-06 15:05:02 · 594 阅读 · 0 评论 -
sdut2278商人的诀窍
#include#include#includeusing namespace std;typedef struct st{ double f,m; double v;};int cmp(st a,st b){ return a.v>b.v;}int main(){ st a[100]; int M,n; while(scanf("%d%d",&M,&n)原创 2016-11-06 15:03:46 · 723 阅读 · 0 评论 -
sdut2873老--质价比
#include#includeusing namespace std;struct st{ int w,p;}a[100];int cmp(st a,st b){ if(a.w!=b.w) return a.w<b.w; return a.p>b.p;}int main(){ int n; while(cin>>n)原创 2016-11-06 15:02:12 · 705 阅读 · 0 评论 -
sdut1595选夫婿2
#include#include#includeusing namespace std;struct E{ char name[27]; int tall;}s[1007];int cmp(E a,E b){ return a.tall<b.tall;}int main(){ E s[107]; int n,i,a,downt,原创 2016-11-06 15:00:25 · 899 阅读 · 0 评论 -
sdut1294选票统计
#includeint main(){ int i,j,max,a[1001],m,n,k; scanf("%d %d\n",&i,&j); for(m=1; m<=i; m++) { a[m]=0; } for(n=1; n<=j; n++) { scanf("%d",&k); a[k]+原创 2016-11-06 14:59:26 · 708 阅读 · 0 评论 -
sdut1959简单枚举类型——植物与颜色
#include #include int main() { char str[20]; enum color{red,orange,yellow,green,blue,violet}; while (gets(str)!=NULL) { if(strcmp(str,"red")==0)原创 2016-11-06 14:58:16 · 1133 阅读 · 0 评论 -
sdut1960共用体练习
#include#include#include#include#include#includeusing namespace std;union { double data; int d; char type[1000];}qu[100000];int main(){ int m,n; cin>>m>>n; char type[100000][10] ; f原创 2016-11-06 14:56:52 · 499 阅读 · 0 评论 -
sdut1569选夫婿1
#include#include#include#includeusing namespace std;struct st{ char name[100]; int h,w;};int cmp(st a,st b){ if(a.h!=b.h) return a.h<b.h; else return a.w<b.w;}int main(){ int t; st原创 2016-11-06 14:55:25 · 806 阅读 · 0 评论