随笔分类 - 南邮ACM
摘要:描述In the book All Creatures of Mythology, gnomes are kind, bearded creatures, while goblins tend to be bossy and simple-minded. The goblins like to harass the gnomes by making them line up in groups of three, ordered by the length of their beards. The gnomes, being of different physical heights, var
阅读全文
摘要:描述现在我们来玩一个游戏:传播“悄悄话”,规则如下:(1)一个人发起“悄悄话”(2)一个人在知道“悄悄话”时,要么保持沉默,不告诉任何人;要么在规定时间内将“悄悄话”及时告诉其他两个人,否则游戏失败。(3)所有人最终都知道“悄悄话”假设一个人在规定时间内至多将“悄悄话”告诉两个人;除发起人外,其他每个人只被告诉一次“悄悄话”。给定游戏的统计数据,请你判断游戏是否成功。输入第一行是一个正整数:测试用例数目,最多为3。之后,每个测试用例包括多行:l 第1行给出两个整数(空格分割),前者表示游戏参与人数n,后者表示“悄悄话”的发起人t,在这个游戏中,参加人用整数序号表示,2≤n≤10001,0≤t≤
阅读全文
摘要:描述给定任何不可被2或者5整除的整数n(0 int main(){ int n; while(scanf("%d",&n)!=EOF) { int t=1; int count=1; while(t) { t=(t*10+1)%n; count++; } printf("%d\n",count); } return 0;}
阅读全文
摘要:描述sed同学最近迷上了制造机器狗,购置了大量所需零件,零件可以组装为一个组件,这些组件或零件又可以组装为一个大的组件。在制造机器狗中,组件或零件只能两两进行组装,组装的顺序任意。在机器狗中,每个零件都有一个组装成本,每次组装一个组件的费用为各个零件组装成本之和。给定各个零件组装成本(单位为元),你的任务是帮助sed计算他至少花费多少费用。输入第一行包括一个整数N,表示机器狗零件数(1≤N≤10000)第二行为N个正整数,表示每个机器狗零件组装成本(单位为元),整数之间用空格隔开。输出输出仅一行,即机器狗组装的最少费用。注意:输出部分的结尾要求包含一个多余的空行。样例输入10 1 2 3 4
阅读全文
摘要:描述现代社会通信便捷,借助于Internet形成了各式各样的社区,每个人都可能属于多个社交圈,尤其是Facebook类社交网站的出现,使世界缩小了,人与人的交往扩大了频繁了。sed同学正在做这方面的毕业设计课题,指导老师给他布置了一个任务:已知一群人的社会关系网络,判断两个人之间的关系,他们是否可以通过社交圈的人相互结识。输入第一行包括三个整数:n、 m、k,分别表示人数、社区数、查询两个人之间的关系的用例数 (1 ≤ n ≤ 10000, 0 ≤ m ≤ 100,1 ≤ k ≤ 100)。m行,每行首先给出一个社区的人数,然后给出代表人的序号。k行,每行给出待查询的两个人(用序号表示)。输出
阅读全文
摘要:描述很少有人知道奶牛爱吃苹果。农夫约翰的农场上有两棵苹果树(编号为1和2), 每一棵树上都长满了苹果。奶牛贝茜无法摘下树上的苹果,所以她只能等待苹果 从树上落下。但是,由于苹果掉到地上会摔烂,贝茜必须在半空中接住苹果(没有人爱吃摔烂的苹果)。贝茜吃东西很快,她接到苹果后仅用几秒钟就能吃完。每一分钟,两棵苹果树其中的一棵会掉落一个苹果。贝茜已经过了足够的训练, 只要站在树下就一定能接住这棵树上掉落的苹果。同时,贝茜能够在两棵树之间 快速移动(移动时间远少于1分钟),因此当苹果掉落时,她必定站在两棵树其中的一棵下面。此外,奶牛不愿意不停地往返于两棵树之间,因此会错过一些苹果。苹果每分钟掉落一个,共
阅读全文
摘要:描述换寝室是大家都不愿意碰到的事情,不幸的是,可怜的wwm高中大学都遇到了。 室友们有一个不成文的规定,那就是根据自己的学号选择床号。如果某同学的学号是a,并且有0..k-1一共k张床,那么他就会选择a%k号床作为他睡觉的地点。显然,两个人不能睡在一张床上。那么给出所有同学的学号,请你为他们准备一间卧室,使得里面的床的数量最少。 输入第一行是同学的个数n(1#include #include #include using namespace std;const int S = 1000001;const int N = 5001;char *bed = NULL;int main(){ ...
阅读全文
摘要:描述 很多学生都会找点兼职来赚点外快,Alfred也不例外,他找的兼职是家教。好了,现在Alfred的工作就是辅导一个高中生的数学。 这一天,这位高中生叫Alfred帮忙做一下作业:在二维平面内给出一个三角形的三个顶点坐标,现在的任务是求出这个三角形的垂心,也就是三角形的三条高线所在直线的交点。 当然,Alfred的数学是不错的,对于这么简单的问题,Alfred只用了半分钟就解决掉了,正当Alfred得意的时候,这位高中生却毫不吃惊地说:我们的作业一共有100条呢! Alfred听见了之后不禁倒抽了一口凉气,现在的中学生真命苦啊。 所以,打抱不平的Alfred决定要帮这位高中生的忙:利用计算机
阅读全文
摘要:描述给定输入排序元素数目n和相应的n个元素,写出程序,利用内排序算法中堆排序算法进行排序,并输出排序最后结果的相应序列。输入共两行,第一行给出排序元素数目n,第二行给出n个元素,1≤n≤100000,每个元素值范围为 [0,100000)输出一行,输出排序结果。样例输入7 48 36 68 72 12 48 2样例输出2 12 36 48 48 68 72#include #define N 100000using namespace std;void swap(int &x,int &y){ int z; z=x; x=y; y=z;}void adjustdown(...
阅读全文
摘要:描述给定输入排序元素数目n和相应的n个元素,写出程序,利用内排序算法中两路合并排序算法进行排序,并输出排序最后结果的相应序列。输入共两行,第一行给出排序元素数目n,第二行给出n个元素,1≤n≤100000,每个元素值范围为 [0,100000)输出一行,输出排序结果。样例输入7 48 36 68 72 12 48 2样例输出2 12 36 48 48 68 72#include #define N 100000using namespace std;void merge(int a[],int i1,int j1,int i2,int j2){ int *temp=new int[j2-...
阅读全文
摘要:描述给定输入排序元素数目n和相应的n个元素,写出程序,利用内排序算法中快速排序算法进行排序,并输出排序最后结果的相应序列。输入共两行,第一行给出排序元素数目n,第二行给出n个元素,1≤n≤100000,每个元素值范围为 [0,100000)输出一行,输出排序结果。样例输入7 48 36 68 72 12 48 2样例输出2 12 36 48 48 68 72#include#includeint qkpass(int *r,int left,int right){ int i,j, x=r[left]; i=left; j=right; while(i=x) ...
阅读全文
摘要:描述给定输入排序元素数目n和相应的n个元素,写出程序,利用内排序算法中冒泡排序算法进行排序,并输出排序过程中每趟及最后结果的相应序列。输入共两行,第一行给出排序元素数目n,第二行给出n个元素,1≤n≤400,每个元素值范围为 [0,100000)输出三个部分第1部分为两行,第1行输出文字“Source:”,第2行给出原始序列;第2部分,开始输出文字“Bubble Sort:”,后续输出简单选择排序过程;第3部分,开始输出文字“Result”,后续输出排序结果。样例输入7 48 36 68 72 12 48 2样例输出Source: (48 36 68 72 12 48 2) Bubble So
阅读全文
摘要:描述给定输入排序元素数目n和相应的n个元素,写出程序,利用内排序算法中直接插入排序算法进行排序,并输出排序过程中每趟及最后结果的相应序列。输入共两行,第一行给出排序元素数目n,第二行给出n个元素,1≤n≤400,每个元素值范围为 [0,100000)输出三个部分:第1部分为两行,第1行输出文字“Source:”,第2行给出原始序列;第2部分,开始输出文字“Insert Sort:”,后续输出简单选择排序过程;第3部分,开始输出文字“Result:”,后续输出排序结果。样例输入7 48 36 68 72 12 48 2样例输出Source: (48) 36 68 72 12 48 2 Inser
阅读全文
摘要:描述给定输入排序元素数目n和相应的n个元素,写出程序,利用内排序算法中的简单选择排序算法进行排序,并输出排序过程中每趟及最后结果的相应序列。输入共两行,第一行给出排序元素数目n,第二行给出n个元素,1≤n≤400,每个元素值范围为 [0,100000)输出三个部分第1部分为两行,第1行输出文字“Source:”,第2行给出原始序列;第2部分,开始输出文字“Select Sort:”,后续输出简单选择排序过程;第3部分,开始输出文字“Result:”,后续输出排序结果。样例输入7 48 36 68 72 12 48 2样例输出Source: (48 36 68 72 12 48 2) Selec
阅读全文
摘要:描述Tom和Jerry在10*10的方格中:*...*...........*......*...*...............*.C....*.....*......*........M......*...*.*.....*.*......C=Tom(猫) M=Jerry(老鼠) *=障碍物 .=空地他们各自每秒中走一格,如果在某一秒末他们在同一格中,我们称他们“相遇”。注意,“对穿”是不算相遇的。 他们移动方式相同:平时沿直线走,下一步如果会走到障碍物上去或者出界,就用1秒的时间做一个右转90度。一开始他们都面向北方。 编程计算多少秒以后他们相遇。输入10行,格式如上输出相遇时间T。如果
阅读全文
摘要:描述每学期考试结束,教务处老师都要对学生成绩进行一些统计。请你帮助教务处老师对学生成绩从高到低进行排名。成绩相同,排名序号相同,先后出现顺序与原始次序相同。输入第一行是一个正整数:测试用例数目,最多为100。之后,每个测试用例包括:l 第1行,含一个整数n:1≤n≤100,表示学生数l n行,每一行含一个字符串(长度不超过10)、一个整数,分别表示学生的学号、成绩输出对于每个测试用例:l 输出“Case #:”,#表示序号l 输出n行,每一行含排名序号、学生学号、成绩注意:输出部分的结尾要求包含一个多余的空行。样例输入2 5 B05021924 90 B07030901 91 B0703041
阅读全文
摘要:描述在个位数中:0,4,6,8,9有一个共同的特征:数形上存在空洞,其中8有两个相切的空洞。一个非负整数具有多个空洞,给定一个空洞数目h(0 ≤ h ≤ 510),请你写一个计算机程序来找出能产生这些空洞的数,要求数应尽可能小,且无前导零。输入一行输入一个非负整数h,表示空洞的数目。输出能产生这些空洞的最小数。注意:输出部分的结尾要求包含一个多余的空行。样例输入0 1 15 70样例输出1 0 48888888 88888888888888888888888888888888888#includeusing namespace std;int main(){ int n,i; wh...
阅读全文
摘要:描述好消息!南邮规划建设自行车停放场,现已选定多个场地,它们均为规则多边形。现请你帮助学校确定哪块场地面积最大,这里以鼎山之顶为平面坐标原点,按顺时针或逆时针给出顶点坐标。输入输入数据中含有一些多边形场地(1≤数量≤20),按输入顺序编号(从1开始)。每个多边形场地的第一行数据n(3≤n≤10),后续n行分别给出顶点的平面坐标(平面两个坐标的绝对值≤50)。输出输出面积最大的多边形场地序号。当面积最大的多边形场地有多个时,输出这些场地中的最小序号样例输入2 3 0 0 0 1 1 0 4 0 0 0 1 11 1 0样例输出2#include#includeusing namespace st
阅读全文
摘要:描述 今天是JacmY生日,他请大家吃饭,就这样,一行N个人来到了餐馆,大家吃吃喝喝,有说有笑,气氛甚欢,这时突然有人提议大家玩一个游戏,听罢规则后,就开始了游戏。 游戏规则是这样的,吃饭的N个人围坐在桌子旁,JacmY是1号,沿着顺时针方向开始编号,2、3……N,然后由JacmY随机说一个数K(1 int main(){ int n,t,i,k; scanf("%d",&t); for(int ii=0;ii<t;ii++) { scanf("%d",&n); int j=0,count=0,s=0; int a...
阅读全文
摘要:描述话说南京的城市规划一般一般,各个大学分布极不合理,难于沟通。 我们夜猫族打算用一种常人难以想象的方式建立大学通道:用地道使得所有大学都相通。 但地道的造价不菲,而大学生是贫困群体,所以我们希望用尽量小的代价。 已知建设一条地道的费用和地道的距离成正比。其关系是,一个单位的距离需要的花费是7个ACM币,在ACM世界里货币的换算方法简单极了,29个ACM币等于一个DS币,17个DS币等于一个算法币。(ACM币单位为ac,DS币单位为ds,算法币单位为al) 但是学校太多了,而且有些学校不能直接连接(比如,跨湖或跨江地道太难建设了)。需要聪明的你的帮助。 输入第一行包含两个整数N,M。N表示学校
阅读全文

浙公网安备 33010602011771号