SDUT oj 部分题解
SDUT oj杂题标程
fangkaipeng.com
http://fangkaipeng.com/ 个人博客有简介~
展开
-
SDUT 1294选票统计
#include <stdio.h>#include <stdlib.h>int main(){ int a[1001]; int m,n,x,max=-1,num,i; scanf("%d %d",&m,&n); for (i=0;i<n;i++) { a[i]=0; } ...原创 2019-11-03 15:14:31 · 322 阅读 · 0 评论 -
SDUT 4202 小 I 的小姐姐
#include <stdio.h>#include <stdlib.h>struct score{ int w1; int w2; int w3;};int main(){ int b[100]; struct score a[5001]; int t,i,max,num; while(~scanf("...原创 2019-11-03 15:12:00 · 610 阅读 · 0 评论 -
SDUT 2551检查宿舍卫生
#include <stdio.h>#include <stdlib.h>struct score{ int a; int b; int c; int d; int e;};int main(){ int b[100]; struct score a[100]; int t,i,max,count...原创 2019-11-03 15:06:05 · 979 阅读 · 0 评论 -
sdut acm 4610这题不是签到题(新生争霸赛)
思路:先理解题意,题目要求把数据用1,2分别染色,然后把被1染色的数据组成的串和被2染色的数据组成的串,分别拿出来,要求两个串接起来是一个非递减的串。首先我们要把数据按照从小到大排序,由于数据量大且数据范围为0-9,所以应该使用桶排序,不然容易超时。然后把排序后的数据和原数据匹配(如图方式,蓝色为染成1,红色为染成2),第一次匹配的染色为1,第二次的染色为2.下面给出代码:#inclu...原创 2019-12-20 19:12:44 · 268 阅读 · 0 评论 -
acmsdut 3343 数据结构实验之二叉树四:(先序中序)还原二叉树
知识点:1.由前序遍历+中序遍历||后序遍历+中序遍历可以得到一个完整的二叉树,由前序+后序遍历无法确定一个二叉树。2.前序和后序遍历可以确定根(前序遍历第一个为根,后序遍历最后一个为根),此性质与遍历顺序有关,因为前序遍历是“根左右”,后序遍历是“左右根”。3.中序遍历的特征:如果已知根节点,那么在中序遍历的结果中,排在根结点左边的点都在左子树上,排在根节点右边的都在右子树上。已知上述...原创 2019-12-10 20:09:36 · 346 阅读 · 0 评论 -
acmsdut 2075最少拦截系统(贪心)
此题体现贪心思想,思路:每次拦截不超过最大高度的最高的导弹,如果没有则需要再来一个拦截系统,代码如下:#include <stdio.h>#include <stdlib.h>#include <string.h>//b[]记录每个拦截系统当前可拦截导弹的最大高度,sum记录b[]的长度,方便起见,数组b从1开始,即sum为所需导弹系统个数。int ...原创 2019-12-09 16:21:22 · 400 阅读 · 0 评论 -
acm sdut 3665 顺序表应用8:最大子段和之动态规划法
第一次的思路是用sum数组dp,结果MLE了,代码如下:#include <stdio.h>#include <stdlib.h>int main(){int sum[100001],a[100001]; int n,flag=0,i; scanf("%d",&n); for(i=0;i<n;i++) { ...原创 2019-12-09 15:13:50 · 210 阅读 · 0 评论 -
sdut acm 4211 骨牌铺方格2
此题先分析最简单的情况——n=1时一种,n=2时一种,n=3时两种;n=4时,看成两种情况,第一个骨牌横着放,等效于n=1的情况,第一个骨牌竖着放,等效于n=3的情况,所以n=4时是2+1=3种。每次都可以以此思路递归到最简情况,即f(n)=f(n-1)+f(n-2);给出代码:#include <stdio.h>#include <stdlib.h>int ...原创 2019-12-09 14:39:47 · 305 阅读 · 0 评论 -
sdut 1916 字符串拓展
第一次是用STL写的,结果TLE了,代码如下:用到了find(); replace();两个函数;猜测由于cin流的形式输入导致超时,大佬有兴趣可以看看能否改进,初学C++和STL,没有头绪。#include <iostream>#include <cstring>#include <algorithm>#include <string>...原创 2019-12-04 16:42:13 · 161 阅读 · 0 评论 -
2122 SDUT 数据结构实验之链表七:单链表中重复元素的删除
#include <stdio.h>#include <stdlib.h>typedef struct Node{ int data; struct Node *next;} node;node *creat(int n){ int i; node * head,* p; head=(node *)malloc(size...原创 2019-11-08 11:47:39 · 252 阅读 · 0 评论 -
SDUT 2116 数据结构实验之链表一:顺序建立链表
#include <stdio.h>#include <stdlib.h>typedef struct num{ int number; struct num *next;}NUM;NUM *build (int n){ int i; NUM *pt,*prept,*head; pt=(NUM*)malloc(sizeo...原创 2019-11-06 18:04:09 · 405 阅读 · 0 评论 -
SDUT 2117 数据结构实验之链表二:逆序建立链表
#include <stdio.h>#include <stdlib.h>typedef struct Node{ int data; struct Node *next;}node;node *create(int n){ node *head,*p; int i; head=(node *)malloc(sizeof...原创 2019-11-06 17:58:56 · 366 阅读 · 0 评论 -
SDUT 2874 师 链表的结点插入
#include <stdio.h>#include <stdlib.h>typedef struct Node{ int data; struct Node *next;} node;node *in(node *p,int x)//插入节点{ node *q; q=(node *)malloc(sizeof(node));...原创 2019-11-06 17:55:34 · 374 阅读 · 0 评论 -
SDUT 2873 老--质价比
#include <stdio.h>#include <stdlib.h>struct thing{ int wi; int pi;}a[10001],t;int main(){ int n,i,j; while(~scanf("%d",&n)) { for (i=0;i<n;i++) ...原创 2019-11-03 15:30:24 · 278 阅读 · 0 评论 -
SDUT 1569 选夫婿1
Problem Description倾国倾城的大家闺秀潘小姐要选夫婿啦!武林中各门各派,武林外各大户人家,闻讯纷纷前来,强势围观。前来参与竞选的男生藏龙卧虎,高手云集,才子遍布,帅哥纷纭,更不乏富二代,官二代,可谓声势空前。每个人参与竞选的帅哥除了进行一段激情洋溢的求婚演讲以外,还要报上自己姓名、身高和体重,以及个人简历。最后再进行文武选拔,最后夺魁者方能得到潘小姐的芳心。 潘小姐不爱名利...原创 2019-11-03 15:27:10 · 351 阅读 · 0 评论 -
SDUT 2446 最终排名
Problem Description第四届山东理工大学ACM网络编程擂台赛比赛完后需要产生一个最终排名,排名按照题数多少来决定。但是有太多的队伍参与,手动计算排名已经不能满足比赛的需求。现在有一份名单记录各个队伍的ID和做出的题目数,需要你写一个程序,产生最终的排名。为了简化题目,这里的排名规则为:做出题目数量多的队伍排在前面,如果题数相等,保持输入时的相对顺序不要改变。Input...原创 2019-11-03 15:23:01 · 476 阅读 · 0 评论 -
SDUT 2741 小鑫の日常系列故事(十)——排名次
#include <stdio.h>#include <stdlib.h>struct acm{ char name[1000]; int score;}a[50],t;int main(){ int n,i,j; scanf("%d",&n); for (i=0;i<n;i++) { ...原创 2019-11-03 15:18:58 · 691 阅读 · 0 评论 -
SDUT 4199 小 I 选宾馆
#include <stdio.h>#include <stdlib.h>struct hotel { int x; int y;}a[5000];int main(){ int i,n; while(~scanf("%d",&n)) { int max=0,temp=0; for (i=0;i<...原创 2019-11-03 15:17:00 · 820 阅读 · 0 评论 -
acmsdut 4631 AP-5 精炼工厂保全(二分法)
题目大意:每个人有不同的HP,每天固定扣一滴血,每天可以额外对一人造成一次m的伤害,问最少多久可以杀死所有人。二分答案法:对于一些问题,它的解满足单调性,即如果x满足条件,则对于任意的 i ( 1<=i<=x) 或 (x <=i <=n) (假设1和n是答案的上下界)都会满足条件。一般遇上这种问题,我们就可以用二分答案来加快解决。这种问题常常有关键语句:使最大…最...原创 2019-12-23 09:37:41 · 269 阅读 · 0 评论 -
acm sdut 4626 平衡的天平(DFS)
题目来源:sdutacm第九届ACM趣味编程循环赛 Round #2思路:每个砝码有三种可能的状态:放左边,放右边,不放,所以可以用dfs的方法递归所有可能。代码如下:#include <bits/stdc++.h>using namespace std;int ans,n;int w[20];//每个砝码重量void dfs(int x,int l,int r)/...原创 2019-12-22 09:36:00 · 317 阅读 · 0 评论 -
acm sdut LJJ王国的数学家(第九届ACM趣味编程循环赛 Round #1 )
思路:题目要求输出所有可能,可以使用深度优先搜索(dfs),因为分成k份,则可用一个dp[]数组储存每份具体的数据。用for循环输入0-n所有数,如果每份加起来刚好为n则输出,否则返回上一层#include <bits/stdc++.h>using namespace std;int ny,k;void dfs(int n,int ceng,int *dp){ ...原创 2019-12-20 20:50:40 · 271 阅读 · 0 评论