题解列表

筛选

蛇形矩阵C++

解题思路:我的想法是先将数组初始化为0,然后将第一列数据输入,a[i+1][0]=a[i][0]+i+1,以此公式用for循环赋值,用if(i+1!=n)来限制,然后用两层for循环将每行数据进行计算并赋值。其中观察规律可知道每行内两个数据的差值大小逐个加1,则用下列公式来进行操作。

终于做出来了

```c#include#include#includeintdivisor,count=3;intmain(void){intcaculate(char*arry,intremainder);chararry[200]={0};intdigit,

代码很长,但是很简单看懂!

解题思路:分为每行每列来解答,每行分为两种情况,+-行和|行,每行里面又分为两种+-行:+和-|行:|和空格注意事项:判空处理,行或者列为零时单独判断。参考代码:importjava.util.Scanner;publicclassMain{publicstaticvoidmain(String[]a

[NOIP2004]合并果子

解题思路:题目要求求最小的体力耗费值,显然每次合并最小的果子和次小的果子就可以达到最优。每次合并前,我们都要求最小和次小值,这可以通过排序来实现,但是这样很容易超时,我们可以利用STL的priority_queue容器。使用priority_queue创建一个小根堆,

统计数字字符个数

解题思路:注意事项:参考代码:publicstaticvoidmain(String[]args){Scannersc=newScanner(System.in);Stringzifu=sc.nextLine();intsum=0;for(inti=0;i