SDUT OJ 走迷宫
标签: dfs
#include using namespace std; int visit[10][10],a[10][10]; int n,m; int k; void dfs(int x,int y) { if(xn-1||ym-1||visit[x][y]||a[x][y]) return; if(x==n-1 && y==m-1) { k++; return ;...
标签: dfs
#include using namespace std; int visit[10][10],a[10][10]; int n,m; int k; void dfs(int x,int y) { if(xn-1||ym-1||visit[x][y]||a[x][y]) return; if(x==n-1 && y==m-1) { k++; return ;...
双向链表 Time Limit: 1000MS Memory limit: 65536K ...学会了单向链表,我们又多了一种解决问题的能力,单链表利用一个指针就能在内存中找到下一个位置,这是一个不会轻易断裂的链。...比如在链表中有两个节点A,B...
当比赛一直纠缠骑2如何做一个非常大的数量,数组不开啊。。。后来他们发现自己很傻啊,该数不超过最大10什么,这个上限就是力量100什么。。。...其它的就是记忆化搜索啊,还有就是加一点力量的瓶子当时就要用上。...
迷宫问题,求出所有的路径。 sdutoj 1269 走迷宫
#include<bits/stdc++.h> using namespace std; int a[10005]; // 存放集合s的数据 int n, c, sum; int flag = 0; // 有解时flag=1 ...// 从pos处向后查找,sum记录此时的加和,top作为ans数组的游标 ...
标签: dfs
#include using namespace std; int visit[10][10],a[10][10]; int n,m; int k; void dfs(int x,int y) { if(xn-1||ym-1||visit[x][y]||a[x][y]) return; if(x==n-1 && y==m-1) { k++; return ;...
/*这题原本想用链式队列解决,但是链式队列从头部删除很方便 但是从尾部删除的话,就很难找到前驱,最后放弃,最后学了一下 双向队列,特别好用,在这里试了一下。。*/ #include #include #include ...
标签: c++
标签: c++
#include<bits/stdc++.h> using namespace std; struct Active { int start; // 活动开始时间 int finish; // 活动结束时间 int num; // 活动编号,从1开始 }actives[110]; int main() ...&g
#include<bits/stdc++.h> using namespace std; struct good { int w; // 重量 int p; // 价值 int val; // 价值与重量之比 }goods[15], tmp; // 冒泡排序,将货物按val值从大到小排列 ... j+
数据结构上机实验之二分查找 ...Time Limit: 1000MS Memory limit: 65536K ... 在一个递增的序列里,查找元素是否存在,若存在输出YES,不存在输出NO. ... 本题多组数据,首先输入一个数字n(n>=100000),然后输入n...
#include<bits/stdc++.h> using namespace std; int main() { int a[10005]; // n个点,固定区间长度为k,count_num记录所用区间数 int n, k, count_num; while(cin>>n>>...
SDUT OnlineJudge #include<iostream> #include<iomanip> using namespace std; int main() { int a[3]; for(int i = 0;i < 3;i++) cin>>a[i]; int sum = 0; for(int i = 0;i < 3;i+...
二叉排序树 ...Time Limit: 1000MS Memory limit: 65536K ...二叉排序树的定义是:或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值;...
#include<bits/stdc++.h> using namespace std; int main() { int n, k, dist[1005]; cin>>n>>k; int temp = n; int count_num = 0; // dist数组记录从上一站到第i站的距离 ...
题目描述 对于我们来说求两个数的LCM(最小公倍数)是很容易的事,现在我遇到了一个问题需要大家帮助我来解决这问题,问题是:给你一个数n,然后统计有多少对(a(a,b)=n;例如LCM(a,b)=12;...
SDUT OnlineJudge #include<bits/stdc++.h> using namespace std; int main() { vector<int>a;char t[100];int flag01=1;int num=-1;int key=0;int flag02=1; while(flag01!=EOF) { if(num==-1 |...
A - 数据结构实验之链表一:顺序建立链表 Description 输入N个整数,按照输入的顺序建立单链表存储,并遍历所建立的单链表,输出这些数据。 Input 第一行输入整数的个数N;...第二行依次输入每个整数。...
最优合并问题 Description 给定k 个排好序的序列s1, s2,……, sk, 用2 路合并算法将这k 个序列合并成一个序列。假设所采用的2 路合并算法合并2 个长度分别为m和n的序列需要m + n -1次比较。试设计一个算法确定合并...
A - 递归的函数 Description 给定一个函数 f(a, b, c): 如果 a ≤ 0 或 b ≤ 0 或 c ≤ 0 返回值为 1; 如果 a > 20 或 b >... 20 返回值为 f(20, 20, 20);... c 返回f(a, b, c−1) + f(a, b−1, c−1) − f(a...
双向链表Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^题目描述学会了单向链表,我们又多了一种解决问题的能力,单链表利用一个指针就能在内存中找到下一个位置,这是一个不会轻易断裂的链。...
三维BFS
#include<bits/stdc++.h> using namespace std; #define INF 9999 struct Coins { int val; int count_num; }coins[15]; int main() { // dp[i]记录找i元所用最少的硬币量 int n, dp[20100], m;... i++){
#include<bits/stdc++.h> using namespace std; #define inf 0x3f3f3f3f int main() { int n, k, a[202]; int dp_max[202][202], dp_min[202][202]; cin>>n; memset(dp_max, 0, sizeof(dp_max))... f
#include<bits/stdc++.h> using namespace std; bool cmp(int a, int b) { return a>b; } int main() { int k; int a[1010], b[1010]; int minval = 0, maxval = 0; cin>>...a
题目链接:点击打开链接 数据结构实验之查找二:平衡二叉树 ...Time Limit: 400ms Memory limit: 65536K 有疑问?...根据给定的输入序列建立一棵平衡二叉树,求出建立的平衡二叉树的树根。...输出平衡二叉树的树根
#include<bits/stdc++.h> using namespace std; int main() { // dp[i][j]存储当前位置到底部的最大和 int n, dp[101][101], a[101][101]; cin>>n; for (int i = 1; i <...a[i]