上一页 1 ··· 8 9 10 11 12 13 14 15 16 下一页
  2013年6月29日
摘要: 题目描述给定一个有向图,判断该有向图是否存在一个合法的拓扑序列。输入输入包含多组,每组格式如下。第一行包含两个整数n,m,分别代表该有向图的顶点数和边数。(n 2 #include 3 int map[11][11],vis[11],degree[11]; 4 int main() 5 { 6 int n,m,u,v,i,j,k; 7 while(~scanf("%d %d",&n,&m)) 8 { 9 memset(map,0,sizeof(map));10 memset(degree,0,sizeof(vis));//每个节点的入度初... 阅读全文
posted @ 2013-06-29 16:37 straw_berry 阅读(557) 评论(0) 推荐(0) 编辑
摘要: 题目描述在一个果园里,多多已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆。多多决定把所有的果子合成一堆。每一次合并,多多可以把两堆果子合并到一起,消耗的体力等于两堆果子的重量之和。可以看出,所有的果子经过n-1次合并之后,就只剩下一堆了。多多在合并果子时总共消耗的体力等于每次合并所消耗体力之和。因为还要花大力气把这些果子搬回家,所以多多在合并果子时要尽可能地节省体力。假定每个果子重量都为1,并且已知果子的种类数和每种果子的数目,你的任务是设计出合并的次序方案,使多多耗费的体力最少,并输出这个最小的体力耗费值。例如有3种果子,数目依次为1,2,9。可以先将1、2堆合并,新堆数目为3 阅读全文
posted @ 2013-06-29 12:46 straw_berry 阅读(447) 评论(0) 推荐(0) 编辑
  2013年6月28日
摘要: 题目描述已知一棵二叉树的前序遍历和中序遍历,求二叉树的后序遍历。输入输入数据有多组,第一行是一个整数t (t 2 #include 3 #include 4 struct tree 5 { 6 char data; 7 struct tree *lchild,*rchild; 8 }; 9 struct tree *creat(struct tree *root,int len,char *s1,char *s2 )10 {11 if(len==0)12 {13 14 return NULL;15 }16 ... 阅读全文
posted @ 2013-06-28 20:56 straw_berry 阅读(267) 评论(0) 推荐(0) 编辑
摘要: 题目描述 已知一个按先序序列输入的字符序列,如abc,,de,g,,f,,,(其中逗号表示空节点)。请建立二叉树并按中序和后序方式遍历二叉树,最后求出叶子节点个数和二叉树深度。输入输入一个长度小于50个字符的字符串。输出输出共有4行:第1行输出中序遍历序列;第2行输出后序遍历序列;第3行输出叶子节点个数;第4行输出二叉树深度。示例输入abc,,de,g,,f,,,示例输出cbegdfacgefdba35 1 #include 2 #include 3 #include 4 struct tree 5 { 6 char data; 7 struct tree *... 阅读全文
posted @ 2013-06-28 20:53 straw_berry 阅读(526) 评论(0) 推荐(0) 编辑
  2013年6月26日
摘要: 题目描述给定两个字符串string1和string2,判断string2是否为string1的子串。输入输入包含多组数据,每组测试数据包含两行,第一行代表string1,第二行代表string2,string1和string2中保证不出现空格。输出对于每组输入数据,若string2是string1的子串,则输出"YES",否则输出"NO"。示例输入abca12345645abcddd示例输出YESYESNO 1 #include 2 #include 3 int main() 4 { 5 char s1[65535],s2[65535]; 6 int i 阅读全文
posted @ 2013-06-26 20:19 straw_berry 阅读(201) 评论(0) 推荐(0) 编辑
  2013年6月24日
摘要: 题目描述对于一个基于二元运算符的算术表达式,转换为对应的后缀式,并输出之。输入输入一个算术表达式,以‘#’字符作为结束标志。输出输出该表达式转换所得到的后缀式。示例输入a*b+(c-d/e)*f#示例输出ab*cde/-f*+ 1 #include 2 #include 3 int main() 4 { 5 char s[101],st[101]; 6 int top; 7 top = -1; 8 scanf("%s",s); 9 for(int i = 0; s[i]!= '#'; i++)10 {11 if(s[i] >= '... 阅读全文
posted @ 2013-06-24 01:29 straw_berry 阅读(426) 评论(0) 推荐(0) 编辑
摘要: 题目描述一个由n * m 个格子组成的迷宫,起点是(1, 1), 终点是(n, m),每次可以向上下左右四个方向任意走一步,并且有些格子是不能走动,求从起点到终点经过每个格子至多一次的走法数。输入 第一行一个整数T 表示有T 组测试数据。(T 2 #include 3 int map[101][101],vis[101][101]; 4 int n,m,ans; 5 void dfs(int x,int y) 6 { 7 if(vis[x][y] || map[x][y]) 8 return; 9 if(x == n && y == m)10 {1... 阅读全文
posted @ 2013-06-24 00:49 straw_berry 阅读(253) 评论(0) 推荐(0) 编辑
  2013年6月22日
摘要: 题目描述refresh最近发了一笔横财,开了一家停车场。由于土地有限,停车场内停车数量有限,但是要求进停车场的车辆过多。当停车场满时,要进入的车辆会进入便道等待,最先进入便道的车辆会优先进入停车场,而且停车场的结构要求只出去的车辆必须是停车场中最后进去的车辆。现告诉你停车场容量N以及命令数M,以及一些命令(Add num 表示车牌号为num的车辆要进入停车场或便道,Del 表示停车场中出去了一辆车,Out 表示便道最前面的车辆不再等待,放弃进入停车场)。假设便道内的车辆不超过1000000.输入首先输入N和M(0< n,m <200000),接下来输入M条命令。输出输入结束后,如果出现停车场内 阅读全文
posted @ 2013-06-22 21:34 straw_berry 阅读(303) 评论(0) 推荐(0) 编辑
摘要: 题目描述 想想双向链表……双向队列的定义差不多,也就是说一个队列的队尾同时也是队首;两头都可以做出队,入队的操作。现在给你一系列的操作,请输出最后队列的状态;命令格式:LINXX表示一个整数,命令代表左边进队操作;RINX表示右边进队操作;ROUTLOUT表示出队操作;输入第一行包含一个整数M(M 2 #include 3 #include 4 #include 5 using namespace std; 6 7 int main() 8 { 9 int n,wrong[101],c,x;10 char s[10];11 dequedque;12 c =... 阅读全文
posted @ 2013-06-22 20:55 straw_berry 阅读(287) 评论(0) 推荐(0) 编辑
  2013年6月21日
摘要: 1 View Code 2 3 int prime(int cur) 4 { 5 int index; 6 int sum = 0; 7 memset(visit, false, sizeof(visit)); 8 visit[cur] = true; 9 for(int i = 0; i graph[index][j]){28 dist[j] = graph[index][j];29 } 30 } 31 } 32 return sum; 3... 阅读全文
posted @ 2013-06-21 21:39 straw_berry 阅读(128) 评论(0) 推荐(0) 编辑
上一页 1 ··· 8 9 10 11 12 13 14 15 16 下一页