![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ACM练习题
文章平均质量分 60
刘春辉
前后端打杂
展开
-
三国轶事,巴蜀之危
#include int main(){ int i,num; while(scanf("%d",&num) != EOF) { long long f1 = 0,f2 = 1,f; if(num == 1) { printf("%d\n",f1); }e原创 2013-04-02 21:44:31 · 1368 阅读 · 1 评论 -
sdut.acm2012级《程序设计基础Ⅱ)》_链表 数据结构实验之链表二:逆序建立链表
#include #include #include struct node { int inum; struct node *next; }; struct node *create(int n) { struct node *head,*p; int i; head = (struc原创 2013-05-11 21:35:32 · 1002 阅读 · 0 评论 -
sdut.acm 1188C语言实验——各位数字之和排序
思路:设置两个数组,一个存数,另一个存各位数字之和,然后按照各位数字之和的顺序排序,输出#include int main(){ int num; while(scanf("%d",&num) && num != 0) { int str1[1000],str2[1000]= {0},i,num1,j,temp1,temp2;原创 2013-05-11 19:40:45 · 2144 阅读 · 0 评论 -
sdut.acm 2012级《程序设计基础Ⅱ)》_链表 整理音乐
#include #include #include struct node{ char name[10]; int s; struct node *next;};struct node *create1(int num){ struct node *head,*tail,*p; int i; head = (struct node*原创 2013-05-11 21:18:00 · 961 阅读 · 0 评论 -
sdut.acm2012级《程序设计基础Ⅱ)》_链表 数据结构实验之链表三:链表的逆置
#include #include struct node{ int inum; struct node *next;};struct node *create(){ struct node *head,*tail,*p; head = (struct node*)malloc(sizeof(struct node)); head->next原创 2013-05-11 21:33:10 · 1053 阅读 · 0 评论 -
sdut 第三届ACM/ICPC程序设计知识竞赛网络赛 字符串拓展
字符串扩展Time Limit: 1000MS Memory limit: 65536K题目描述Tom有些时候为了记录的方便,常常将一些连续的字符用扩展符'-'简单表示。比如abcdefg可以简写为a-g,即用起始的字符和终止字符中间加上一个扩展符'-'来表示这个字符串。但是为了处理的方便,Tom又必须将这些我们简单记法扩展成原来的字符串。很明显要是原创 2013-05-27 23:05:57 · 1134 阅读 · 0 评论 -
/0's
0\'sTime Limit: 1000MS Memory limit: 65536K题目描述计算整数n!(n的阶乘)末尾有多少个0。输入 第一行输入一个数T代表测试数据个数(T输出对于每个测试数据输n!末尾有多少个0,每行输出一个结果。示例输入31510示例输出012提示原创 2013-05-27 23:23:50 · 944 阅读 · 0 评论 -
查找练习 hash——出现过的数字
开辟两个数组,置为0。一个用来存放输入的数据,另一个把输入的数据作为下标,原来的值由零变为1,。然后通过查找下标的方式来判断值是否为0、1,间接判断值的存在性。#includeint str1[100000],str2[100000] = {0};int main(){ int num1,num2; scanf("%d %d",&num1,&num2);原创 2013-06-29 21:11:08 · 929 阅读 · 0 评论 -
交叉排序
本题思路:输入一串字符串,对奇数位置和偶数位置分别排序#include int str[10000];int main(){ int date,temp; scanf("%d",&date); int j,r; for(j = 0; j < date;j++) { scanf("%d",&str[j]); } for(j = 0;j < da原创 2013-06-29 20:48:51 · 998 阅读 · 0 评论 -
sdut.acm区间覆盖问题
分析:设置一个整型数组position[]表示所有区间,假设position[]已将从大到小排好序,(所以,输入区间后,要对区间进行排序)如果所需线段数m大于等于区间长度n,则线段总长为position[0]-position[m-1]+1。如果区间长度大于所需线段数,则线段总长减去最大两个相邻区间(用distance[] = position[i] -position[i+1] -原创 2013-05-11 16:03:31 · 1494 阅读 · 0 评论 -
sdut.acm活动选择问题
解析:本题采用贪心策略。用begin[] end[]分别表示活动的开始时刻和结束时刻。每一个事件的开始时刻一定小于结束时刻。即begin[i] 例如三个事件a.b.c(a 具体讲:1 。第一要选取的事件是最早结束的事件。2。下一个要选取的事件,必须是上一个事件结束后开始事件中最早结束的事件。#include int main(){ int num;原创 2013-05-11 14:54:35 · 1282 阅读 · 0 评论 -
整数划分问题
整数划分问题是算法中的一个经典命题之一,有关这个问题的讲述在讲解到递归时基本都将涉及。所谓整数划分,是指把一个正整数n写成如下形式: n=m1+m2+...+mi; (其中mi为正整数,并且1 如果{m1,m2,...,mi}中的最大值不超过m,即max(m1,m2,...,mi) 例如但n=4时,他有5个划分,{4},{3,1},{2翻译 2013-04-20 21:33:57 · 780 阅读 · 0 评论 -
sdut.acm2012级《程序设计基础Ⅱ)》_链表 双向链表
#include #include struct node{ int inum; struct node *pre; struct node *next;};struct node *create(int num){ struct node *head; struct node *tail,*p; int i; head =原创 2013-05-11 21:14:26 · 973 阅读 · 0 评论 -
sdut.acm 2012级《程序设计基础Ⅱ)》_链表 不敢死队问题
#include #include struct node{ int inum; struct node *next;};struct node *create(int num){ struct node *head,*tail,*p; int i; head = (struct node *)malloc(sizeof(struct no原创 2013-05-11 21:07:39 · 1204 阅读 · 0 评论 -
acm.sdut——马拦过河卒
题目描述棋盘上A点有一个过河卒,需要走到目标B点。卒行走的规则:可以向下、或者向右。同时在棋盘上C点有一个对方的马,该马所在的点和所有跳跃一步可达的点称为对方马的控制点。因此称之为“马拦过河卒”。棋盘用坐标表示,A点(0,0)、B点(n,m)(n,m为不超过15的整数),同样马的位置坐标是需要给出的。现在要求你计算出卒从A点能够到达B点的路径的条数,假设马的位置是固定不动的,并不是卒走一步马走一步原创 2013-04-17 22:27:17 · 1546 阅读 · 0 评论 -
杭电1001 Sum Problem
法一:可利用for循环将数从1加到所要输入的数:#include int main(){ int num; while(scanf("%d",&num) != EOF) { int sum = 0,i; for(i = 1; i <= num;i++) { sum = sum + i;原创 2013-05-07 20:08:51 · 1006 阅读 · 0 评论 -
sdut.acm 2012级《程序设计基础Ⅱ)》_动态规划 数字三角形问题
题目描述给定一个由n行数字组成的数字三角形如下图所示。试设计一个算法,计算出从三角形的顶至底的一条路径,使该路径经过的数字总和最大。 对于给定的由n行数字组成的数字三角形,计算从三角形的顶至底的路径经过的数字和的最大值。输入输入数据的第1行是数字三角形的行数n,1≤n≤100。接下来n行是数字三角形各行中的数字。所有数字在0..99之间。输出输出数据只有一个整数,表示计原创 2013-05-23 14:42:50 · 1184 阅读 · 0 评论 -
sdut.acm 2012级《程序设计基础Ⅱ)》_动态规划 最长上升子序列
题目描述一个数的序列bi,当b1 2 S的时候,我们称这个序列是上升的。对于给定的一个序列(a1, a2, ..., aN),我们可以得到一些上升的子序列(ai1, ai2, ..., aiK),这里11 2 K 你的任务,就是对于给定的序列,求出最长上升子序列的长度。输入输入的第一行是序列的长度N (1 输出最长上升子序列的长度。示例输入71 7原创 2013-05-23 15:28:23 · 1045 阅读 · 0 评论 -
sdut.acm 2012级《程序设计基础Ⅱ)》_动态规划 最长公共子序列问题
题目描述 给定两个序列X=输入输入数据有多组,每组有两行 ,每行为一个长度不超过500的字符串(输入全是大写英文字母(A,Z)),表示序列X和Y。输出每组输出一行,表示所求得的最长公共子序列的长度,若不存在公共子序列,则输出0。示例输入ABCBDABBDCABA示例输出4提示 #include #include #原创 2013-05-23 15:17:45 · 1123 阅读 · 0 评论 -
链表应用之-----整理音乐
整理音乐 Time Limit: 1000MS Memory limit: 65536K 题目描述请用链表完成下面题目要求。xiaobai 很喜欢音乐,几年来一直在收集好听的专辑。他有个习惯,每次在听完一首音乐后会给这首音乐打分,而且会隔一段时间给打好分的音乐排一个名次。今天 xiaobai打开自己的音乐文件夹,发现有很多不同时期打过分的排好序的子音乐文件夹,他原创 2013-04-11 15:19:28 · 1425 阅读 · 1 评论 -
sdut.acm1197约瑟夫问题
分析:建立一个环状链表,然后按照每n个数删掉一个结点,输出最后剩余的结点的数值。#include #include struct node{ int date; struct node *next;};struct node *create(int NUM){ struct node *Head,*p,*tail; int i; Hea原创 2013-05-11 21:04:15 · 1160 阅读 · 0 评论 -
sdut.acm2012级《程序设计基础Ⅱ)》_链表 数据结构实验之链表四:有序链表的归并
#include #include struct node{ int inum; struct node *next;};struct node *create1(int NUM1){ struct node *head,*tail,*p; int i; head = (struct node*)malloc(sizeof(struct node原创 2013-05-11 21:30:30 · 1150 阅读 · 0 评论 -
sdut.acm 2012级《程序设计基础Ⅱ)》_链表 来淄博旅游
#include #include #include struct node{ char name[21],from[21],to[10]; int n ; struct node *next;};struct node *create(int NUM){ struct node *Head,*tail,*p; int i; Hea原创 2013-05-11 21:11:41 · 3629 阅读 · 1 评论 -
sdut.acm 2012级《程序设计基础Ⅱ)》_链表 数据结构实验之链表七:单链表中重复元素的删除
#include #include struct node{ int inum; struct node *next;};struct node *create(int n){ struct node *head,*p; int i; head = (struct node*)malloc(sizeof(struct node)); head-原创 2013-05-11 21:27:42 · 1378 阅读 · 0 评论 -
sdut.acm2012级《程序设计基础Ⅱ)》_链表 金牌、银牌、铜牌
#include #include #include typedef struct node{ char name[30]; int score; struct node *next;} lian,*list;lian pai[9000];int comp(const void *p1, const void *p2){ return ( *(con原创 2013-05-11 21:38:50 · 1112 阅读 · 0 评论 -
java实现大数相加问题
闲来没事,写了个acm中经常遇到的大数加减问题的java 解决代码,我想说,用java的BigInteger 很容易。大爱java!!例如:实现多组输入的大数加减问题:import java.math.*;import java.util.*;public class Bignum { public static void main(String[] args) {原创 2014-06-05 20:13:01 · 1515 阅读 · 0 评论