数据结构相关
Conch..
记录存档学习相关 努力成为不拖拉的上岸咸鱼Orz
展开
-
Josephus问题(Ⅲ)
题目描述n个人排成一圈,按顺时针方向依次编号1,2,3…n。从编号为1的人开始顺时针"一二三...."报数,报到m的人退出圈子。这样不断循环下去,圈子里的人将不断减少。最终一定会剩下一个人。试问最后剩下的人的编号。本题的数据规模更具有挑战性,尝试更通用且高效的算法。输入不超过1000组数据。每组数据一行,每行两个正整数,代表人数n (1 <= n < 231)和m(1<=m<=1000)。输出每组输入数据输出一行, 仅包含一个整数,代表最后剩下的人的.原创 2021-11-28 23:52:41 · 2742 阅读 · 2 评论 -
Josephus问题(Ⅱ)
题目描述n个人排成一圈,按顺时针方向依次编号1,2,3…n。从编号为1的人开始顺时针"一二"报数,报到2的人退出圈子。这样不断循环下去,圈子里的人将不断减少。最终一定会剩下一个人。试问最后剩下的人的编号。n很大,直接模拟题意不行,请找出规律。输入不超过1000组数据。每组数据一行,每行一个正整数,代表人数n。 (1 <= n < 231)输出每组输入数据输出一行, 仅包含一个整数,代表最后剩下的人的编号。样例输入Copy72样例输出Co...原创 2021-11-28 23:42:25 · 987 阅读 · 1 评论 -
Josephus问题(Ⅰ)
题目描述n个人排成一圈,按顺时针方向依次编号1,2,3…n。从编号为1的人开始顺时针"一二"报数,报到2的人退出圈子。这样不断循环下去,圈子里的人将不断减少。最终一定会剩下一个人。试问最后剩下的人的编号。要求程序模拟题意来实现。输入不超过1000组数据。每组数据一行,每行一个正整数,代表人数n。 (1 <= n <= 1000)输出每组输入数据输出一行, 仅包含一个整数,代表最后剩下的人的编号。样例输入Copy72样例输出Copy71..原创 2021-11-28 23:38:14 · 1525 阅读 · 1 评论 -
复杂度分析(Ⅱ)
题目描述有如下代码段(n为正整数):i=1;while(i++<n){j=1;while(j++<i){k=1;while(k++<j)printf("\n");}}问printf语句共执行了几次?这段代码执行完以后i+j+k值为多少?输入由多行组成,每行一个整数n, 1<= n <= 3000输出对每一行输入,输出对应的一行,包括空格分开的两个整数,分别代表printf语句的执行次数以及...原创 2021-11-28 22:42:33 · 356 阅读 · 0 评论 -
复杂度分析(Ⅰ)
题目描述分析如下代码for(i=1;i<n;i++)for(j=1;j<i;j++)for(k=1;k<j;k++)printf("\n");问printf语句共执行了几次?这段代码执行完以后i+j+k值为多少?输入由多行组成,每行一个整数n, 1<= n <= 3000输出对每一行输入,输出对应的一行,包括空格分开的两个整数,分别代表printf语句的执行次数以及代码执行完以后i+j+k的值, 如果值不确定,输出"RAND...原创 2021-11-28 22:40:05 · 961 阅读 · 0 评论