297 条题解
-
0
悠小凌 LV 5 @ 2008-11-03 23:20:12
卒行走的规则:可以向下、或者向右.....这啥意思啊??向下不是减了么??题有问题!!
-
02008-11-03 21:39:07@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms我学C++,两次交成pascal,竟不知错哪,还在那儿找错!!!
#include
using namespace std;
main ()
{
int x1[9]={0,-1,-2,-2,-1,1,2,2,1};
int y1[9]={0,-2,-1,1,2,2,1,-1,-2};
int bx,by,hx,hy,q,w;
cin>>bx>>by>>hx>>hy;
int a[bx+1][by+1];
for (int i=0;i -
02008-11-03 15:39:20@
//By Vinci Haber
var
n,m,ha,hb:longint;
i:int64;
allow:array[-2..17,-2..17] of 0..2;
procedure Go(hen,lie:longint);
begin
if allow[hen,lie]=1 then exit;
if allow[hen,lie]=2 then begin inc(i);exit; end;
if hen+1 -
02008-11-02 22:52:48@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms最基本的DP。。。没用什么int64啊~
#include
#includeusing namespace std;
int bx,by,mx,my;
int map[20][20]={0};bool check(int kx,int ky){
if ((kx==mx&&ky==my)||(kx==mx-1&&ky==my-2)||(kx==mx-1&&ky==my+2)||(kx==mx-2&&ky==my+1)||(kx==mx-2&&ky==my-1)||(kx==mx+1&&ky==my+2)||(kx==mx+1&&ky==my-2)||(kx==mx+2&&ky==my+1)||(kx==mx+2&&ky==my-1)) return false;
return true;
}int main(){
cin>>bx>>by>>mx>>my;
map[bx+1][by]=1;
for (int i=bx;i>=0;i--){
for (int j=by;j>=0;j--){
if (check(i,j)) map[i][j]+=map[j]+map[i][j+1];
}}
cout -
02008-11-02 19:35:55@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms
假的搜索题,用杨辉三角形解。 -
02008-11-01 10:56:50@
居然要用int64..T,T
-
02008-11-01 10:51:04@
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案错误...程序输出比正确答案长
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Unaccepted 有效得分:90 有效耗时:0ms为什么├ 测试数据 03:答案错误...程序输出比正确答案长
.....const
q:array[1..8,1..2] of integer=((1,2),(1,-2),(-1,2),(-1,-2),(2,1),(2,-1),(-2,1),(-2,-1));
var
bx,by,hx,hy,i,j:longint;
a:array[0..15,0..15] of int64;
begin
read(bx,by,hx,hy);
for i:=1 to bx do
for j:=1 to by do
begin
a:=1;
a[0,j]:=1;
a:=-1;
end;
a[hx,hy]:=0;
for i:=1 to 8 do
if (hx+q>-1) and (hx+q-1) and (hy+q -
02008-10-30 20:14:12@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 384ms
├ 测试数据 10:答案正确... 494ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:878ms
貌似速度有点慢。。
用简单的回朔。
庆祝AC 24 ! -
02008-10-30 18:10:41@
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms -
02008-10-27 22:39:36@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms -
02008-10-27 21:17:22@
DFS吧……
先把马能跳到的地方全部标记一遍把
我觉得这样比较简单 -
02008-10-27 17:02:18@
程序写那么长干嘛 有点疑惑
const dh:Array[1..8,1..2] of integer=
((1,2),(1,-2),(-1,2),(-1,-2),(2,1),(2,-1),(-2,1),(-2,-1));
var
f:Array[0..15,0..15] of int64;
una:Array[-2..17,-2..17] of boolean;
n,m,i,j,hx,hy:longint;
begin
read(n,m,hx,hy);
una[hx,hy]:=true;
for i:=1 to 8 do
una[hx+dh,hy+dh]:=true;
f[0,0]:=1;
for i:=0 to n do
for j:=0 to m do
if not una then
begin
inc(f,f);
inc(f,f);
end;
writeln(f[n,m]);
end. -
02008-10-26 22:53:20@
From zhouyc
马拦过河卒 全国青少年信息学奥林匹克分区联赛 (NOIp) 竞赛原题编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 244ms
├ 测试数据 10:答案正确... 244ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:488ms55555555555555555
复制的时候少了个括号,WA了一次,我的AC率#include
using namespace std;
int a[10000][10000],m=0,x1,y1;
int f(int x,int y)
{
if ((x==x1)&&(y==y1)) {m++;return 0;}
if (((x+1)x1>>y1>>x>>y;
for (i=0;i -
02008-10-16 16:50:28@
program soldier(input,output);
var
g:array [-30..30,-30..30] of int64;
v:array [-30..30,-30..30] of boolean;
i,j,n,m,x,y,k:longint;
begin
fillchar(g,sizeof(g),0);
fillchar(v,sizeof(v),true);
read(n,m,x,y);
v[x,y]:=false;
v[x-2,y-1]:=false; v[x-1,y-2]:=false;
v[x+2,y+1]:=false; v[x+1,y+2]:=false;
v[x-2,y+1]:=false; v[x+2,y-1]:=false;
v[x-1,y+2]:=false; v[x+1,y-2]:=false;
for i:=0 to n do if v then g:=1 else break;
for i:=0 to m do if v[0,i] then g[0,i]:=1 else break;
for k:=1 to m do
for i:=1 to n do
if v then g:=g+g;
write(g[n,m]);
end. -
02008-10-16 08:14:47@
用递推的注意啦。。。
一定要看楼下 -
02008-10-14 15:36:06@
被第三组数据阴了
大家注意一下
5 6 2 2
。。。。。。 -
02008-10-12 20:46:39@
同志们啊,我会回朔了,800年都没会过~~!!!!
递归过了,汗。。。。。。。。。。。。。
#include
using namespace std;
int x,y,x1,y1,a[10000][10000],m=0;
int huishuo (int x3,int y3)
{
if (a[x3][y3]==2)
{
m++;
return 0;
}
if ((a[x3+1][y3]!=1)&&(x3+1x>>y>>x1>>y1;
for (i=0;i -
02008-10-06 20:09:40@
program soldier(input,output);
var
g:array [-30..30,-30..30] of int64;
v:array [-30..30,-30..30] of boolean;
i,j,n,m,x,y,k:longint;
begin
fillchar(g,sizeof(g),0);
fillchar(v,sizeof(v),true);
read(n,m,x,y);
v[x,y]:=false;
v[x-2,y-1]:=false; v[x-1,y-2]:=false;
v[x+2,y+1]:=false; v[x+1,y+2]:=false;
v[x-2,y+1]:=false; v[x+2,y-1]:=false;
v[x-1,y+2]:=false; v[x+1,y-2]:=false;
for i:=0 to n do if v then g:=1 else break;
for i:=0 to m do if v[0,i] then g[0,i]:=1 else break;
for k:=1 to m do
for i:=1 to n do
if v then g:=g+g;
write(g[n,m]);
end. -
02008-10-06 19:07:35@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 306ms
├ 测试数据 10:答案正确... 353ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:659ms -
02008-10-05 20:38:33@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0msf[0][0]=1;
for (i=1;i