- 博客(7)
- 资源 (1)
- 收藏
- 关注
原创 刷题路漫漫---5(取石子问题(威佐夫博弈))
Problem Description 有两堆石子,数量任意,可以不同。游戏开始由两个人轮流取石子。游戏规定,每次有两种不同的取法,一是可以在任意的一堆中取走任意多的石子;二是可以在两堆中同时取走相同数量的石子。最后把石子全部取完者为胜者。现在给出初始的两堆石子的数目,如果轮到你先取,假设双方都采取最好的策略,问最后你是胜者还是败者。 Input 输入包含若干行,表示若干种石子的初始情况,其中每一行包含两个非负整数a和b,表示两堆石子的数目,a和b都不大于1,000,000,000。 Outpu..
2021-08-12 10:27:15
177
原创 刷题路漫漫---4(查字典问题)
Problem Description 度熊所居住的 D 国,是一个完全尊重人权的国度。以至于这个国家的所有人命名自己的名字都非常奇怪。一个人的名字由若干个字符组成,同样的,这些字符的全排列的结果中的每一个字符串,也都是这个人的名字。例如,如果一个人名字是 ACM,那么 AMC, CAM, MAC, MCA, 等也都是这个人的名字。在这个国家中,没有两个名字相同的人。度熊想统计这个国家的人口数量,请帮助度熊设计一个程序,用来统计每一个人在之前被统计过多少次。Input 这里包括一组测试数据,第一行包含一个正
2021-08-12 09:40:24
92
原创 刷题路漫漫---3(约瑟夫环问题)
Description 有N个小孩围成一圈,给他们从1开始依次编号,现指定从第W个开始报数,报到第S个时,该小孩出列,然后从下一个小孩开始报数,仍是报到S个出列,如此重复下去,直到所有的小孩都出列(总人数不足S个时将循环报数),求小孩出列的顺序。Input 第一行输入小孩的人数N(N<=64) 接下来每行输入一个小孩的名字(人名不超过15个字符) 最后一行输入W,S (W < N),用逗号","间隔Output 按人名输出小孩按顺序出列的顺序,每行输出一个人名Sample Input ..
2021-08-07 10:56:12
110
原创 刷题路漫漫---2(中位数计数(枚举))
Problem Description 中位数定义为所有值从小到大排序后排在正中 间的那个数,如果值有偶数个,通常取最中间的两个数值的平均数作为中位数。 现在有n个数,每个数都是独一无二的,求出每个数在多少个包含其的区间中是中位数。 Input 多组测试数据 第一行一个数n(n≤8000) 第二行n个数,0≤每个数≤109, Output N个数,依次表示第i个数在多少包含其的区间中是中位数。 Sample Input 5 1 2 3 4 5 Sample Output 1 2 3
2021-08-07 10:21:57
119
原创 刷题路漫漫---1(寻找素数对)
Problem Description 哥德巴赫猜想大家都知道一点吧.我们现在不是想证明这个结论,而是想在程序语言内部能够表示的数集中,任意取出一个偶数,来寻找两个素数,使得其和等于该偶数. 做好了这件实事,就能说明这个猜想是成立的. 由于可以有不同的素数对来表示同一个偶数,所以专门要求所寻找的素数对是两个值最相近的. Input 输入中是一些偶整数M(5<M<=10000). Output 对于每个偶数,输出两个彼此最接近的素数,其和等于该偶数. Sample Input 20
2021-08-06 19:46:01
131
原创 十大排序之选择排序
选择排序 《1》动画演示 《2》具体代码 void selection_sort(int array[],int len){ for(int i=0;i<len-1;i++){ int j=i; for(int k=i+1;k<len;k++){ if(array[k]<array[j]) j=k; if(j!=i) swap(arr[i],arr[j]); }//for }//for } ...
2021-08-06 17:57:30
73
原创 十大排序之冒泡排序
冒泡排序 《1》动画演示 《2》具体代码 void bubble_sort(int array[],int len){ for(int i=0;i<len-1;i++){ bool noswap=true; for(int j=0;j<len-i-1;j++){ if(arr[j]>arr[j+1]) { swap(arr[j],arr[j+1]); noswap=false; }//if }//...
2021-08-06 17:37:55
78
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人