245 条题解
-
0国防安全员001 LV 8 @ 2009-07-15 11:41:32
var f:array [0..1000,0..1000] of longint;
n,j,k,m,l,i,o:longint;
begin
readln(n,k);
for i:=1 to n do
f:=1;
for j:=2 to k do
for i:=j to n do
f:=f+f;
writeln(f[n,k]);
end. -
02009-07-15 10:03:27@
var m,n,k,s:longint;
a:array[1..10000]of longint;
procedure hua(b,q,q2:longint);
var i:longint;
begin
if q2=n then
begin
s:=s+1;
exit;
end;
begin
for i:=q to m-q*2 do
if b>=i*2 then
begin
a[q2]:=i;
hua(b-i,i,q2+1);
end;
end;
end;
begin
read(m,n);
hua(m,1,1);
write(s);
writeln;
end.
回溯? -
02009-07-13 14:12:26@
a[i][j]=a[j]+a[j-1];
一定要初始化!!!!!!!!!! -
02009-07-13 11:03:39@
var
f:array[0..200,0..6] of longint;
i,j,n,k:longint;
Begin
readln(n,k);
f[0,0]:=1;
for i:=1 to n do
for j:=1 to k do begin
if i>j then f:=f;
f:=f+f;
end;
writeln(f[n,k]);
end. -
02009-07-10 10:32:19@
用最笨的方法,但照样AC
var n,k,a,b,c,d,e,f,z:longint;
begin
read(n,k);
if k=2 then begin
for a:=1 to n-1 do
for b:=a to n-a do
if a+b=n then z:=z+1;
end;
if k=3 then begin
for a:=1 to n-2 do
for b:=a to n-a do
for c:=b to n-a-b do
if a+b+c=n then z:=z+1;
end;
if k=4 then begin
for a:=1 to n-3 do
for b:=a to n-a do
for c:=b to n-a-b do
for d:=c to n-a-b-c do
if a+b+c+d=n then z:=z+1;
end;
if k=5 then begin
for a:=1 to n-4 do
for b:=a to n-a do
for c:=b to n-a-b do
for d:=c to n-a-b-c do
for e:=d to n-a-b-c-d do
if a+b+c+d+e=n then z:=z+1;
end;
if k=6 then begin
for a:=1 to n-5 do
for b:=a to n-a do
for c:=b to n-a-b do
for d:=c to n-a-b-c do
for e:=d to n-a-b-c-d do
for f:=e to n-a-b-c-d-e do
if a+b+c+d+e+f=n then z:=z+1;
end;
writeln(z);
end. -
02009-07-09 22:47:32@
记忆化 秒杀
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0msvar
i,j,k,kk,n:longint;
f:array[0..200,1..6,0..200]of longint;
function dfs(x,y,z:longint):longint;
var
i,t:longint;
begin
if x -
02009-07-05 10:03:47@
DFS 也可以过~嘿~
var ans:int64;
m,k:longint;procedure dfs(l,j,tol:longint);
var i:longint;a
begin
if l=k then
begin
if tol>=j then inc(ans);
exit;
end;for i:=j to tol do
begin
if tol-i -
02009-06-30 20:19:31@
惨啊~~~
第一遍用的是整型~~~
好在第二遍过了
在此对推出式子的牛们致以崇高的敬意!!! -
02009-05-27 21:44:48@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms15题AC
-
02009-05-21 21:12:51@
program ex01;
var i,j,n,k:longint;
f:array[0..200,0..6] of longint;
begin
readln(n,k);
f[0,0]=0;
for i:=1 to n do f:=1;
for i:=2 to n do
for j:=2 to n do
f:=f+f[abs(i-j),j];
writeln(f[n,k]);
end. -
02009-05-21 21:10:55@
program ex03;
var i,j,n,k:longint;
f:array[0..200,0..6] of longint;
begin
readln(n,k);
f[0,0]=0;
for i:=1 to n do f:=1;
for i:=2 to n do
for j:=2 to n do
f:=f+f[abs(i-j),j];
writeln(f[n,k]);
end. -
02009-05-10 17:34:07@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0msAC了 走过。。。
-
02009-05-07 21:59:58@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms -
02009-05-04 00:40:42@
#include
int f[201][7]={0},n,k;
int main()
{
int i,j;
scanf("%d %d",&n,&k);
f[1][1]=1;
for(i=2;ij/*
规律:
x 1 2 3
y
1 1 0 0
2 1 1 0
3 1 1 1
4 1 2 1
5 1 2 2
6 1 3 3
7 1 3 4
*/12行秒杀..
还记得某位编程狂人说过:当代码不能再缩短了,才是完美的程序!
^_^ -
02009-04-15 17:43:07@
var
a:array[-6..1000,1..6]of longint;
n,k,j,i,p:integer;
begin
read(n,k);fillchar(a,sizeof(a),0);
a[0,1]:=1;
for i:=1 to n do
for j:=1 to k do
for p:=1 to j do
inc(a,a);
writeln(a[n,k])
end. -
02009-04-08 13:12:12@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0msvar f:array[0..200,0..6]of longint;
var i,j,n,k:longint;
begin
readln(n,k);
f[0,0]:=1;
for i:=1 to n do f:=1;
for i:=2 to n do
for j:=2 to k do
f:=f+f[abs(i-j),j];
writeln(f[n,k]);
end. -
02009-03-19 17:27:29@
DFS 0 MS
第一次用INTEGER只有40分...
var n,k:integer;
total:longint;procedure dfs(n,dep,now:longint);
var i:integer;
begin
if dep = k then
begin
if n >= now then inc(total);
exit;
end;
for i:= now to n div 2 do dfs(n-i,dep+1,i);
end;begin
readln(n,k);
total:=0;
dfs(n,1,1);
writeln(total);
end. -
02009-03-13 13:21:34@
我想问
将整数n分成k份,且每份不能为空,任意两份不能相同(不考虑顺序)。
这句话后半句是不是错的
答案并没有把两份相同的情况删除啊
例如样例的表是
|1 2 3
---|---|-
1|1 0 0
2|1 1 0
3|1 1 1
4|1 2 1
5|1 2 2
6|1 3 3
7|1 3 4分成这几份嘛...
1 1 5 1 2 4 1 3 3 2 2 3
很明显两份之间可以相同啊...求教! -
02009-03-05 00:10:04@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
---|---|---|---|---|---|---|---|-Accepted 有效得分:100 有效耗时:0ms
暴搜超时最后一个点,递归一次AC……
不知zhhyoi用户暴搜怎么过的,汗……#include "stdio.h"
int fun(int n,int k,int start)
{
int i=start,sum=0;
if(k==1) return 1;
for(;i -
02009-03-02 12:24:35@
为什么用回溯会超时??