山理工OJ学习
AC_Niceuo
这个作者很懒,什么都没留下…
展开
-
折线分割平面
Problem Description我们看到过很多直线分割平面的题目,今天的这个题目稍微有些变化,我们要求的是n条折线分割平面的最大数目。比如,一条折线可以将平面分成两部分,两条折线最多可以将平面分成7部分,具体如下所示。 Input输入数据的第一行是一个整数C,表示测试实例的个数,然后是C 行数据,每行包含一个整数n(0< n<=10000),表示折线的数量。Outpu原创 2017-06-01 20:29:46 · 279 阅读 · 0 评论 -
A+B for Input-Output Practice (III)
Problem DescriptionYour task is to Calculate a + b. InputInput contains multiple test cases. Each test case contains a pair of integers a and b, one pair of integers per line. A test case contai原创 2017-05-23 11:22:40 · 482 阅读 · 0 评论 -
A+B for Input-Output Practice (V)
Problem DescriptionYour task is to calculate the sum of some integers. InputInput contains an integer N in the first line, and then N lines follow. Each line starts with a integer M, and then M原创 2017-05-26 14:39:27 · 289 阅读 · 0 评论 -
最小公倍数
输入两个数求其最小公倍数代码如下:#includeint main(){int a,b,c,temp,fin;scanf("%d%d",&a,&b);int tempA,tempB;tempA=a;tempB=b;c=a%b;if(c==0){temp=b;fin=(a*b)/temp;printf("%d",fin);}else{w原创 2017-06-02 17:09:52 · 331 阅读 · 0 评论 -
Special Judge Ⅰ
Problem DescriptionSDUT OJ 上默认的评测机制是严格 ICPC 模式,它要求提交的程序运行输入数据后的输出结果和标准答案完全一致。而 Special Judge 是一种特殊的评判模式,它允许程序的输出结果和测试数据(标准答案)在一定范围内即使不同,也可以被判定为 Accepted。通常,Special Judge 会通过运行一个特判程序来检测用户的输出是否符原创 2017-06-03 17:49:12 · 1081 阅读 · 0 评论 -
Special Judge Ⅱ
Problem DescriptionQ:什么是 Special Judge,Special Judge 的题目有什么不同?A:一个题目可以接受多种正确答案,即有多组解的时候,题目就必须被 Special Judge。Special Judge 程序使用输入数据和一些其他信息来判答程序的输出,并将判答结果返回。NaYe 最近遇到了一个题,要求输出三个数,第三个数为前两个数的和,三个原创 2017-06-03 17:50:48 · 676 阅读 · 0 评论 -
C/C++经典——最小公倍数,最大公约数
#includeint main(){int a,b,c,max,min,tempa,tempb;scanf("%d%d",&a,&b);tempa=a;tempb=b;c=a%b;if(c==0){max=b;printf("%d\n",max);min=(tempa*tempb)/max;printf("%d\n",min);}else{原创 2017-06-19 20:52:02 · 502 阅读 · 0 评论 -
C/C++经典——求素数
#include#includeint main(){ int n,i,k; scanf("%d",&n); k = (int)sqrt(n); for(i = 2; i if(n % i == 0) break;if(i > k&&k>1) printf("This is a prime.\n");else原创 2017-06-19 20:55:38 · 659 阅读 · 0 评论 -
C/C++经典——斐波那契数列
#includeint main(){int f1=1,f2=1,f3,n;while(scanf("%d",&n)!=EOF){ if(n printf("%d\n", f1); else { for(int i=3;i { f3=f1+f2; f1=f2; f2=f3; } printf("%d\n", f3);}}}原创 2017-06-19 21:06:22 · 769 阅读 · 0 评论 -
N! 求组合数!
给出两个数 n, m。求 和 。计算公式:Input输入数据有多组(数据组数不超过 250),到 EOF 结束。对于每组数据,输入两个用空格隔开的整数 n, m (0 Output对于每组数据输出一行, 和 。Example Input1 120 120 10Example Output1 120 20670原创 2017-06-04 16:35:24 · 846 阅读 · 0 评论 -
循环+if判断
Problem Description这一天希酱又补了一卦,没想到每个人都发到了一张印有整数的牌,现在希酱想要继续占卜的话需要知道每个人手里拿的牌的整数具体是多少,但是她们却打起了哑谜。 穗乃果:我拿到的是 2 的倍数哦~ 绘里:我拿到的是奇数啦~ 南小鸟:花阳拿的比我大 花阳:妮可拿的是我的两倍 海未:我拿的数字各位数字之和加起来是 3 的倍数 真姬:绘里比原创 2017-06-04 16:36:34 · 610 阅读 · 0 评论 -
C~K玩游戏
Problem DescriptionC~K 和 PBH 经常玩一个游戏。游戏规则如下:现给定一个 n*n 的棋盘,一个石头被放在棋盘的左上角。他们轮流移动石头。每一回合,两个人只能把石头向上,下,左,右四个方向移动一格,并且要求移动到的格子之前不能被访问过。谁不能移动石头了就算输。假如 C~K 先移动石头,而且 C~K 和 PBH 都足够聪明,那么最后谁能赢?Input原创 2017-06-04 16:38:47 · 558 阅读 · 0 评论 -
1188-C语言实验-各位数字之和排序
Problem Description给定n个正整数,根据各位数字之和从小到大进行排序。Input输入数据有多组,每组数据占一行,每行的第一个数正整数n,表示整数个数,后面接n个正整数。当n为0时,不作任何处理,输入结束。n<=10Output输出每组排序的结果。 Example Input2 1 23 121 10 1110Example Ou原创 2017-07-20 10:11:20 · 872 阅读 · 0 评论 -
1196---排序问题
Problem Description输入10个整数,将它们从小到大排序后输出,并给出现在每个元素在原来序列中的位置。 Input输入数据有一行,包含10个整数,用空格分开。 Output输出数据有两行,第一行为排序后的序列,第二行为排序后各个元素在原来序列中的位置。 Example Input1 2 3 5 4 6 8 9 10 7Example Outp原创 2017-07-20 10:30:12 · 679 阅读 · 0 评论 -
3103--小鑫爱运动
Problem Description小鑫非常喜欢运动,有一次小鑫去参加110米栏的比赛,一共有10名比赛选手,小鑫是1号,由于跑的太专注,最后冲线的时候不知道自己是第几名,只知道每个人最后的成绩,聪明的你可不可以帮帮他?Input 多组输入。先输入一个10,然后每组输入10个整数,代表10个选手的110米栏成绩m,代表1号到N号的N个选手的成绩m,m范围是(0原创 2017-07-20 11:29:25 · 651 阅读 · 0 评论 -
1171-C语言实验-保留整数
Problem Description输入一个字符串str1,把其中的连续非数字的字符子串换成一个‘*’,存入字符数组str2 中,所有数字字符也必须依次存入 str2 中。输出str2。Input输入为一行字符串str1,其中可能包含空格。字符串长度不超过80个字符。 Output输出处理好的字符串str2。 Example Input$Ts!47&*s456转载 2017-07-21 09:30:25 · 478 阅读 · 0 评论 -
1524--回文串判定
Problem Description输入一串字符(长度小于100),判断该串字符是否是回文串(正序读与逆序读内容相同)。Input输入一串字符(长度小于100)。Output若该串字符是回文串输出“yes",否则输出”no“。Example InputasdfgfdsaExample Outputyes代码:原创 2017-07-21 11:25:26 · 619 阅读 · 0 评论 -
整除
Problem Description求1到n范围内能被 5 或 6 或 8 整除的数的个数。Input多组数据,处理到文件结尾。每行输入一个n;Output输出结果,每个结果占一行。Example Input1000Example Output400Hint1到n被6整除数的个数为n/6(取整)。 Autho原创 2017-07-18 08:53:27 · 350 阅读 · 0 评论 -
判断相似三角形
相似三角形Time Limit: 1000MS Memory Limit: 65536KB SubmitStatistic Discuss Problem Description给出两个三角形的三条边,判断是否相似。Input多组数据,给出6正个整数,a1,b1,c1,a2,b2,c2,分别代表两个三角形。(边长小于100且无序)Outp原创 2017-07-18 09:22:11 · 2538 阅读 · 0 评论 -
C语言实验——圆周率
Problem Description输入n值,并利用下列格里高里公式计算并输出圆周率: Input输入公式中的n值。 Output输出圆周率,保留5位小数。 Example Input1Example Output2.66667拿到题目时,一看超级简单,直接利用公式编写程序即可。个人雷区:1、只注意到了参考示例的“1”,当是1时原创 2017-07-18 09:28:48 · 3911 阅读 · 0 评论 -
素数专题
一、求n之内或n--m内的所有素数#includeint fun(int n){int i;if(nreturn 0;for(i=2;iif(n%i==0)return 0;return 1;}int main(){int count=0;for(int i=100;iif(fun(i))count++;}printf("%d\n原创 2017-07-17 20:14:27 · 234 阅读 · 0 评论 -
C语言基础---打印99乘法表
#include main (){ int i,j,k; for (i=1;i for (j=1;j k=j*i; printf ("%d*%d=%d\t",j,i,k); } printf ("\n");原创 2017-07-17 20:29:06 · 798 阅读 · 0 评论 -
由递推公式求数列第n项的值/山理工ACM-1689斐波那契?
题引:Problem Description给出一个数列的递推公式,希望你能计算出该数列的第N个数。递推公式如下:F(n)=F(n-1)+F(n-2)-F(n-3). 其中,F(1)=2, F(2)=3, F(3)=5.很熟悉吧,可它貌似真的不是斐波那契数列呢,你能计算出来吗?Input 输入只有一个正整数N(N>=4).Output原创 2017-07-19 09:24:17 · 6028 阅读 · 1 评论 -
分割整数
Problem Description从键盘输入一个长整数(不超过10位),从高位开始逐位分割并输出。 Input正整数n,不含前导零。 Output分割的整数序列,各整数之间用空格格开。注意,最后一个数字后面没有空格! Example Input654321Example Output6 5 4 3 2 1思路:1、用长整型 l原创 2017-07-19 10:17:26 · 943 阅读 · 0 评论 -
新学的一种qsort用法
具体题目可以下题为例:Problem Description 给你N(NInput 输入数据第一行是一个正整数N,第二行有N个整数。Output 输出一行,从小到大输出这N个数,中间用空格隔开。Example Input51 4 3 2 5Example Output1 2 3 4 5转载 2017-07-19 11:04:56 · 257 阅读 · 0 评论 -
数列有序/在已知数列中插入数据并排序
Problem Description有n(n<=100)个整数,已经按照从小到大顺序排列好,现在另外给一个整数m,请将该数插入到序列中,并使新的序列仍然有序。Input输入数据包含多个测试实例,每组数据由两行组成,第一行是n和m,第二行是已经有序的n个数的数列。n和m同时为0表示输入数据的结束,本行不做处理。Output对于每个测试实例,输出插入新的元素后的数列。原创 2017-07-19 11:35:33 · 2144 阅读 · 0 评论 -
顺序表应用1:多余元素删除之移位算法
Problem Description一个长度不超过10000数据的顺序表,可能存在着一些值相同的“多余”数据元素(类型为整型),编写一个程序将“多余”的数据元素从顺序表中删除,使该表由一个“非纯表”(值相同的元素在表中可能有多个)变成一个“纯表”(值相同的元素在表中只保留第一个)。要求: 1、必须先定义线性表的结构与操作函数,在主函数中借助该定义与操作函数调用实现问题功能;原创 2017-08-08 09:03:01 · 1248 阅读 · 0 评论 -
链表总结
本次总结仅限于对单链表的总结,后续会对双向链表、循环链表等总结。大多数老师都统一口径说链表这一部分很简单,但是个人对链表的理解实在太差,还是无法理解链表代码所表示的意思和功能。所以在此粗略总结。链表是由节点组成,所谓节点就是一个结构体,这个结构体包括两部分:数据域和指针域。指针域用来指向下一个节点的首地址。结构体一般定义如下: struct node{ //而没原创 2017-08-07 16:08:23 · 402 阅读 · 0 评论 -
C语言经典-----汉诺塔(递归)
Problem Description汉诺塔(又称河内塔)问题是印度的一个古老的传说。开天辟地的神勃拉玛在一个庙里留下了三根金刚石的棒A、B和C,A上面套着n个圆的金片,最大的一个在底下,其余一个比一个小,依次叠上去,庙里的众僧不倦地把它们一个个地从A棒搬到C棒上,规定可利用中间的一根B棒作为帮助,但每次只能搬一个,而且大的不能放在小的上面。僧侣们搬得汗流满面,可惜当n很大时这原创 2017-07-20 08:45:23 · 733 阅读 · 0 评论 -
1170-C语言实验-最值
Problem Description有一个长度为n的整数序列,其中最大值和最小值不会出现在序列的第一和最后一个位置。请写一个程序,把序列中的最小值与第一个数交换,最大值与最后一个数交换。输出转换好的序列。 Input输入包括两行。第一行为正整数n(1≤n≤10)。第二行为n个正整数组成的序列。 Output输出转换好的序列。数据之间用空格隔开。 Example原创 2017-07-20 09:23:33 · 1220 阅读 · 0 评论 -
1191-C语言实验-整数位
Problem Description输入一个不多于5位的正整数,要求: (1)求出它是几位数; (2)分别输出每一位数字; (3)按逆序输出各位数字。 Input输入一个不多于5位的正整数。 Output输出数据有3行,第一行为正整数位数,第二行为各位数字,第三行为逆序的各位数字。 Example Input123Example Output原创 2017-07-20 09:36:41 · 1266 阅读 · 0 评论 -
顺序表应用2:多余元素删除之建表算法
Problem Description一个长度不超过10000数据的顺序表,可能存在着一些值相同的“多余”数据元素(类型为整型),编写一个程序将“多余”的数据元素从顺序表中删除,使该表由一个“非纯表”(值相同的元素在表中可能有多个)变成一个“纯表”(值相同的元素在表中只保留第一个)。要求: 1、必须先定义线性表的结构与操作函数,在主函数中借助该定义与操作函数调用实现问题功能;原创 2017-08-08 10:41:27 · 862 阅读 · 0 评论 -
顺序表应用3:元素位置互换之移位算法
Problem Description一个长度为len(1<=len<=1000000)的顺序表,数据元素的类型为整型,将该表分成两半,前一半有m个元素,后一半有len-m个元素(1<=m<=len),借助元素移位的方式,设计一个空间复杂度为O(1)的算法,改变原来的顺序表,把顺序表中原来在前的m个元素放到表的后段,后len-m个元素放到表的前段。注意:先将顺序表元素调整为符合要求的内容后,再原创 2017-08-08 10:42:50 · 563 阅读 · 0 评论 -
数据结构实验之二叉树二:遍历二叉树
Problem Description已知二叉树的一个按先序遍历输入的字符序列,如abc,,de,g,,f,,, (其中,表示空结点)。请建立二叉树并按中序和后序的方式遍历该二叉树。Input连续输入多组数据,每组数据输入一个长度小于50个字符的字符串。Output每组输入数据对应输出2行:第1行输出中序遍历序列;第2行输出后序遍历序列。Example Inputabc,,原创 2017-08-08 14:17:50 · 345 阅读 · 0 评论 -
顺序表应用4:元素位置互换之逆置算法
Problem Description一个长度为len(1<=len<=1000000)的顺序表,数据元素的类型为整型,将该表分成两半,前一半有m个元素,后一半有len-m个元素(1<=m<=len),设计一个时间复杂度为O(N)、空间复杂度为O(1)的算法,改变原来的顺序表,把顺序表中原来在前的m个元素放到表的后段,后len-m个元素放到表的前段。注意:先将顺序表元素调整为符合要求的内容后,原创 2017-08-08 14:30:28 · 354 阅读 · 0 评论 -
数据结构实验之二叉树的建立与遍历
Problem Description 已知一个按先序序列输入的字符序列,如abc,,de,g,,f,,,(其中逗号表示空节点)。请建立二叉树并按中序和后序方式遍历二叉树,最后求出叶子节点个数和二叉树深度。 Input 输入一个长度小于50个字符的字符串。 Output输出共有4行:第1行输出中序遍历序列;第2行输出后序遍历序列;第3行输出叶子节点个数;第4行输出二原创 2017-08-08 15:15:08 · 293 阅读 · 0 评论 -
数据结构实验之二叉树三:统计叶子数
Problem Description已知二叉树的一个按先序遍历输入的字符序列,如abc,,de,g,,f,,, (其中,表示空结点)。请建立二叉树并求二叉树的叶子结点个数。Input连续输入多组数据,每组数据输入一个长度小于50个字符的字符串。Output输出二叉树的叶子结点个数。Example Inputabc,,de,g,,f,,,Example Output3Hint原创 2017-08-08 15:38:34 · 281 阅读 · 0 评论 -
查找总结
查找全面总结转自:http://www.cnblogs.com/foreverking/category/349201.html转载 2017-08-09 09:13:37 · 255 阅读 · 0 评论 -
顺序表应用6:有序顺序表查询
Problem Description顺序表内按照由小到大的次序存放着n个互不相同的整数,任意输入一个整数,判断该整数在顺序表中是否存在。如果在顺序表中存在该整数,输出其在表中的序号;否则输出“No Found!"。Input 第一行输入整数n (1 <= n <= 100000),表示顺序表的元素个数;第二行依次输入n个各不相同的有序非负整数,代表表里的元素;第三行输入整数t (1原创 2017-08-09 09:15:07 · 1273 阅读 · 0 评论 -
数据结构上机测试2-1:单链表操作A
Problem Description输入n个整数,先按照数据输入的顺序建立一个带头结点的单链表,再输入一个数据m,将单链表中的值为m的结点全部删除。分别输出建立的初始单链表和完成删除后的单链表。 Input第一行输入数据个数n;第二行依次输入n个整数;第三行输入欲删除数据m。 Output第一行输出原始单链表的长度;第二行依次输出原始单链表的数据;第三行输出完成删除后的单链表长原创 2017-08-09 11:17:28 · 731 阅读 · 0 评论