文章列表
题意
中文不解释
思路
首先看到题目第一个的想法就是全排列,求出提供的全排列一组数据的位置,在找出第K个位置,想起第K最小元,也可以利用快排实现。一想似乎是可行办法。
但这样就要做两件事:第一,解决如何求全排列;第二,解决如何求提供的一组数据的位置。全排列可以使用分治递归的方法。而求一组数据的位置就较为麻烦,也想到了一个递归的方法,但比较麻烦。因此不行。
因此查阅了相关的书籍,发现这是一道模拟题。其中n为1024,很大,使用递归不合理。而k<=36,较小,因此可以使用直接求下一个排列数的方法,直接求出结果。
接下来就是怎么求下一个排列为2 1 4 7 6 5 ...
题意
中文不解释
思路
是一道模拟题
可以使用七段数码管的原理,将每个数字在每一段是否要显示标识出来,形成一个10×7的数组。
题目较简单,就是有很多小细节
(1)输出的数字没有说不能以零开头
(2)输出的数字可以是0
(3)是数字与数字间才用空类隔开,也就是说最后一个数字后面不能有空列
(3)是每个数后面有一个空行,因此最后一个数有空行
(4)注意数字的表示,如‘9’最下面还有一横的要注意。数字表示如下:
- - - - - - - -
| | | | | | | | | | | | | |
- - ...
题意
中文的不解释
思路
这是一道模拟题,根据查找的步骤,一次次判断能否走到,能则走,不能则结束
查找的方法为:查出为采摘的花生数量最多的,判断能否走到,并采摘,并回到路。能则进行走到那里,并采摘,不能则结束。
总结
要细心,包括以下注意的:
(1)第一次采摘能不能成功的
(2)判断能否成功还需要将返回路的计算进去
(3)采摘需要消耗一个时间
代码
I.方法一
直接每次都求出最大值,这种方法的时间复杂度为O(N^2)
(1)C
#include "stdio.h"
#include "stdlib.h"
#include ...
题意翻译
输入两个整数a,b (0<=a,b<=10),计算a+b的值并输出。
其中还提到输出不能有多余的内容,即不能加多空格符号等内容,不然会报Wrong Answer
不能使用文件,不然会报"Runtime Error"或者"Wrong Answer"
思路
这个poj用来解释如何编写代码以及提交的例子题目,我也是用此题建立我解题报告的模板。
思路很简单,就是加起来。
总结
--使用Java是需要注意一下内容:
(1)只能使用一个java类,并且类名为Main,并且里面要有一个main方法作为类的开始位置。
(2)Ja ...
题意
中文不解释
思路
这个一道模拟题,要按照题意的步骤执行就可以得出结果,基本步骤为
(1)数数
(2)所数的数从列表中取出
(3)判断是否为1,是则输出,不是则继续
总结
暂无
代码
(I)方法一:使用数组+前移
(1)C
#include "stdio.h"
//#include "stdlib.h"
#define max 300
int a[max+2];
int main()
{
int n,m;
int i,j;
while(scanf("%d%d",&a ...
题意
题意是中文,不解释
思路
(1)是一道数学题,可以使用一次方程和不等式的知识求解。
设,鸡的数量为X,兔的数量为Y,得:
2X+4Y=a(a为总的脚的数量),即:
X+Y=a/2-Y,由此可知,
求最大值时,Y要尽量小
求最小值是,Y要尽量大
(2)答案可能存在不存在的情况,因此要根据能否整除来区分
总结
暂无
代码
(1)C
#include "stdio.h"
//#include "stdlib.h"
int main()
{
int n;
int a;
int max,min;
scanf(&q ...
题意翻译
输入两个整数a,b (0<=a,b<=10),计算a+b的值并输出。
其中还提到输出不能有多余的内容,即不能加多空格符号等内容,不然会报Wrong Answer
不能使用文件,不然会报"Runtime Error"或者"Wrong Answer"
思路
这个poj用来解释如何编写代码以及提交的例子题目,我也是用此题建立我解题报告的模板。
思路很简单,就是加起来。
总结
--使用Java是需要注意一下内容:
(1)只能使用一个java类,并且类名为Main,并且里面要有一个main方法作为类的开始位置。
(2)Ja ...