48 条题解
-
1猫粮寸断 LV 10 @ 2019-09-07 20:27:00
//并不是一道难题(才怪) //题干很麻烦,但实际上就是每个人下一轮的果子数等于上一轮他周围所有人的果子数之和 //这样就很简单了 //由于数据范围比较小,我们可以直接设一个三维数组来表示状态 //之后对12条边分别更新,由于不在正方体上的地方数值为0,因此对答案不构成影响 #include<cstdio> using namespace std; long long map[32][32][32][32]; int main() { int n,m,i,j,k,o; scanf("%d%d%d",&o,&n,&m); map[m][1][1][0]=1; for(i=0;i<o;i++) { for(j=1;j<=n;j++) { map[j][1][1][i+1]=map[j+1][1][1][i]+map[j-1][1][1][i]+map[j][2][1][i]+map[j][1][2][i]; map[j][1][n][i+1]=map[j+1][1][n][i]+map[j-1][1][n][i]+map[j][2][n][i]+map[j][1][n-1][i]; map[j][n][1][i+1]=map[j+1][n][1][i]+map[j-1][n][1][i]+map[j][n-1][1][i]+map[j][n][2][i]; map[j][n][n][i+1]=map[j+1][n][n][i]+map[j-1][n][n][i]+map[j][n-1][n][i]+map[j][n][n-1][i]; map[1][1][j][i+1]=map[1][1][j+1][i]+map[1][1][j-1][i]+map[2][1][j][i]+map[1][2][j][i]; map[1][n][j][i+1]=map[1][n][j+1][i]+map[1][n][j-1][i]+map[2][n][j][i]+map[1][n-1][j][i]; map[n][1][j][i+1]=map[n][1][j+1][i]+map[n][1][j-1][i]+map[n-1][1][j][i]+map[n][2][j][i]; map[n][n][j][i+1]=map[n][n][j+1][i]+map[n][n][j-1][i]+map[n-1][n][j][i]+map[n][n-1][j][i]; map[1][j][1][i+1]=map[1][j+1][1][i]+map[1][j-1][1][i]+map[2][j][1][i]+map[1][j][2][i]; map[1][j][n][i+1]=map[1][j+1][n][i]+map[1][j-1][n][i]+map[2][j][n][i]+map[1][j][n-1][i]; map[n][j][1][i+1]=map[n][j+1][1][i]+map[n][j-1][1][i]+map[n-1][j][1][i]+map[n][j][2][i]; map[n][j][n][i+1]=map[n][j+1][n][i]+map[n][j-1][n][i]+map[n-1][j][n][i]+map[n][j][n-1][i]; } } printf("%lld",map[m][1][1][o]) ; return 0; }
-
02016-08-13 19:59:26@
我笨。。。87行AC。。。写了11个*if*
对了!还要注意 int64 -
02009-11-09 18:10:53@
比较烦,最好是用坐标
-
02009-11-01 21:58:08@
这道题考的不是技巧,是耐性
-
02009-10-30 19:45:53@
这题其实很简单,只是枚举而已。
const
maxn=31;
var
a,b:array[0..maxn+1,0..maxn+1,0..maxn+1]of int64;
o,m,n:longint;procedure init;
var
i,j:longint;
begin
readln(o,n,m);
a[1,m,1]:=1;
end;function ok(i,j,k:longint):boolean;
begin
if ((i=1)or(i=n))and((j=1)or(j=n)or(k=1)or(k=n)) then exit(true);
if ((j=1)or(j=n))and((i=1)or(i=n)or(k=1)or(k=n)) then exit(true);
if ((k=1)or(k=n))and((i=1)or(i=n)or(j=1)or(j=n)) then exit(true);
exit(false);
end;procedure search(dep:longint);
var
i,j,k:longint;
begin
if dep>o then
begin
writeln(a[1,m,1]);
exit;
end;
fillchar(b,sizeof(b),0);
for i:=1 to n do
for j:=1 to n do
for k:=1 to n do
if ok(i,j,k) then
b:=a+a+a+a+a+a;
a:=b;
search(dep+1);
end;procedure main;
var
i,j:longint;
begin
search(1);
end;begin
init;
main;end.
-
02009-10-26 08:25:53@
居然模拟都要写那么多 悲剧啊!莎士比亚啊~~~
-
02009-10-13 14:58:04@
program lifangguo;
var a:array[0..31]of array[0..31]of array[0..31]of array[0..31]of int64;
o,n,m,i,p:longint;begin
read(o,n,m);
a[1][1][m][0]:=1;
for p:=1 to o do
begin
for i:=2 to n-1 do
begin
a[1][1][i][p]:=a[1][1][p-1]+a[1][1][p-1];
a[1][n][i][p]:=a[1][n][p-1]+a[1][n][p-1];
a[n][1][i][p]:=a[n][1][p-1]+a[n][1][p-1];
a[n][n][i][p]:=a[n][n][p-1]+a[n][n][p-1];
a[1][i][1][p]:=a[1][1][p-1]+a[1][1][p-1];
a[1][i][n][p]:=a[1][n][p-1]+a[1][n][p-1];
a[n][i][1][p]:=a[n][1][p-1]+a[n][1][p-1];
a[n][i][n][p]:=a[n][n][p-1]+a[n][n][p-1];
a[i][1][1][p]:=a[1][1][p-1]+a[1][1][p-1];
a[i][1][n][p]:=a[1][n][p-1]+a[1][n][p-1];
a[i][n][1][p]:=a[n][1][p-1]+a[n][1][p-1];
a[i][n][n][p]:=a[n][n][p-1]+a[n][n][p-1];
end;
a[1][1][1][p]:=a[1][1][2][p-1]+a[1][2][1][p-1]+a[2][1][1][p-1];
a[1][1][n][p]:=a[1][1][n-1][p-1]+a[1][2][n][p-1]+a[2][1][n][p-1];
a[1][n][1][p]:=a[1][n][2][p-1]+a[1][n-1][1][p-1]+a[2][n][1][p-1];
a[1][n][n][p]:=a[1][n][n-1][p-1]+a[1][n-1][n][p-1]+a[2][n][n][p-1];
a[n][1][1][p]:=a[n][1][2][p-1]+a[n][2][1][p-1]+a[n-1][1][1][p-1];
a[n][1][n][p]:=a[n][1][n-1][p-1]+a[n][2][n][p-1]+a[n-1][1][n][p-1];
a[n][n][1][p]:=a[n][n][2][p-1]+a[n][n-1][1][p-1]+a[n-1][n][1][p-1];
a[n][n][n][p]:=a[n][n][n-1][p-1]+a[n][n-1][n][p-1]+a[n-1][n][n][p-1];
end;
writeln(a[1][1][m][o]);
end.巨猥琐的程序。。。。。
-
02009-09-05 21:15:08@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms第一次用三维数组,还是用暴力 不过大家都一样!!
-
02009-08-29 11:56:51@
超WS的水题...1次ms..为什么通过的人那么少..
分顶点和非顶点讨论...非顶点处理和08普及组的传球游戏一样...
然后画张图...给每条边定个编号...顶点的值就是相连3条边里最靠近该顶点的3个顶点的和.. -
02009-08-22 19:06:07@
var
i,h,o,n,m:longint;
a,b:array [0..31,0..31,0..31] of int64;
begin
readln(o,n,m);
a[1,1,m]:=1;
for h:=1 to o do
begin
for i:=0 to n+1 do
begin
b[1,1,i]:=0;
b[1,n,i]:=0;
b[n,1,i]:=0;
b[n,n,i]:=0;b:=0;
b:=0;
b:=0;
b:=0;b[1,i,1]:=0;
b[1,i,n]:=0;
b[n,i,1]:=0;
b[n,i,n]:=0;
end;for i:=1 to n do
begin
inc(b,a); inc(b,a);
inc(b,a); inc(b,a);
inc(b,a); inc(b,a);
inc(b,a); inc(b,a);inc(b[1,i-1,1],a[1,i,1]); inc(b[1,i+1,1],a[1,i,1]);
inc(b[1,i-1,n],a[1,i,n]); inc(b[1,i+1,n],a[1,i,n]);
inc(b[n,i-1,1],a[n,i,1]); inc(b[n,i+1,1],a[n,i,1]);
inc(b[n,i-1,n],a[n,i,n]); inc(b[n,i+1,n],a[n,i,n]);inc(b[1,1,i-1],a[1,1,i]); inc(b[1,1,i+1],a[1,1,i]);
inc(b[1,n,i-1],a[1,n,i]); inc(b[1,n,i+1],a[1,n,i]);
inc(b[n,1,i-1],a[n,1,i]); inc(b[n,1,i+1],a[n,1,i]);
inc(b[n,n,i-1],a[n,n,i]); inc(b[n,n,i+1],a[n,n,i]);
end;
a:=b;
end;writeln(a[1,1,m]);
end. -
02009-08-19 19:07:47@
bt题目……
膜拜29行的前辈。。
-
02009-08-14 19:05:38@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms暴力!暴利!!
#include
using namespace std;
int main()
{
__int64 a[35][35][35],b[35][35][35];
int i,j,o,m,n;
cin >> o >> n >> m;
memset(a,0,sizeof(a));
a[1][1][m]=1;
for (i=1;i -
02009-08-09 11:40:19@
如对本题有疑问可以参看我的题解:http://xujieqi.blog.hexun.com/35722312_d.html
-
02009-08-09 11:06:12@
额,一定要用int64才行......
郁闷..... -
02009-08-01 13:50:18@
program p1502;
var p1,p2,p3,i,j,k,o,m,n:longint;
a,b:array[0..12,0..31]of int64;
w:array[0..8]of int64;
x1,x2,x3,y1,y2,y3:array[0..8]of longint;
begin
readln(o,n,m);
fillchar(a,sizeof(a),0);
fillchar(x1,sizeof(x1),0);
fillchar(x2,sizeof(x2),0);
fillchar(x3,sizeof(x3),0);
fillchar(y1,sizeof(y1),0);
fillchar(y2,sizeof(y2),0);
fillchar(y3,sizeof(y3),0);
fillchar(w,sizeof(w),0);
x1[1]:=1;y1[1]:=1;
x2[1]:=2;y2[1]:=1;
x3[1]:=5;y3[1]:=1;
x1[2]:=1;y1[2]:=n;
x2[2]:=3;y2[2]:=1;
x3[2]:=11 ;y3[2]:=1;
x1[3]:=11;y1[3]:=n;
x2[3]:=9;y2[3]:=n;
x3[3]:=10;y3[3]:=1;
x1[4]:=5;y1[4]:=n;
x2[4]:=7;y2[4]:=1;
x3[4]:=9;y3[4]:=1;
x1[5]:=2;y1[5]:=n;
x2[5]:=4;y2[5]:=1;
x3[5]:=6;y3[5]:=1;
x1[6]:=6;y1[6]:=n;
x2[6]:=8;y2[6]:=1;
x3[6]:=7;y3[6]:=n;
x1[7]:=8;y1[7]:=n;
x2[7]:=10;y2[7]:=n;
x3[7]:=12;y3[7]:=n;
x1[8]:=3;y1[8]:=n;
x2[8]:=4;y2[8]:=n;
x3[8]:=12;y3[8]:=1;
fillchar(b,sizeof(b),0);
if (m=1)or(m=n) then
begin
dec(o);
a[1][2]:=1;
a[2][2]:=1;
a[3][2]:=1;
m:=1;
end
else a[1][m]:=1;
for k:=1 to o do
begin
for i:=1 to 12 do
for j:=2 to n-1 do
b:=a+a;
for i:=1 to 8 do
begin
if y1[i]=1 then p1:=2 else p1:=n-1;
if y2[i]=1 then p2:=2 else p2:=n-1;
if y3[i]=1 then p3:=2 else p3:=n-1;
w[i]:=a[x1[i],p1]+a[x2[i],p2]+a[x3[i],p3];
end;
for i:=1 to 12 do
for j:=2 to n-1 do
a[i][j]:=b[i][j];
for i:=1 to 8 do
begin
a[x1[i],y1[i]]:=w[i];
a[x2[i],y2[i]]:=w[i];
a[x3[i],y3[i]]:=w[i];
end;
end;
writeln(a[1][m]);
end.很猥琐的过了
-
02009-07-29 09:18:26@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms
来硬的就行 -
02009-07-27 10:30:58@
我的程序代码在下面
题题题题题题题题题题题题题题题题题题题题题题题题题题题题题题题题题题题题题
题题题题题题题题题题题题题题题题题题题题题题题题题题题题水水水水题题题题题
题题题题题题题题题题题题题题题题题题题题题题题题水水水水水水水水水题题题题
题题题题题题题题题题题题题题题题题题水水水水水水水水水水水水水水水题题题题
题题题题题题题题题题题题题题题题水水水水水水水水水水水水水水水题题题题题题
题题题题题题题题题题题水水水水题水水水水水水水水水水水题题题题题题题题题题
题题题题题题题题水水水水水水水题水水水题题水水水水水题题题题题题题题题题题
题题题水水水水水水水水水水水水题题题题题题水水水水题题题题题题题题题题题题
题水水水水水水水水水水水水水水题题题题题题水水水水题题题题题题题题题题题题
题水水水水水水水水水水水水题题题题题题题水水水水水水水水水水水题题题题题题
题水水水水水水水水水水水水题题题题题题水水水水水水水水水水水水水水题题题题
题题水水水水水水水水水水题题题题题水水水水水水题题题水水水水水水水题题题题
题题题题题题题题水水水水题题题题题水水水水题题题题题题水水水水水题题题题题
题题题题题题题题水水水水题题题题水水水水题题水水题题题水水水水水题题题题题
题题题题题题题题水水水水题题题题水水水水题题水水水水题水水水水水题题题题题
题题题题题题题题水水水水题题题题水水水水题题水水水水题水水水水水题题题题题
题题题题题题题题水水水水题题题题水水水水题题水水水题题水水水水水题题题题题
题题题题题题题题水水水水题题题题水水水水题题水水水题题水水水水水题题题题题
题题题题题题题题水水水水题题题题水水水水题水水水水题题水水水水水题题题题题
题题题题题题题题水水水水题题题题水水水水题水水水水题题水水水水水题题题题题
题题题题题题题题水水水水题题题题水水水水题水水水水题题水水水水水题题题题题
题题题题题题题题水水水水题题题题水水水水题水水水水题题水水水水水题题题题题
题题题题题题题题水水水水题题题题水水水题题水水水水题题水水水水水题题题题题
题题水水题题题水水水水水题题题题水水水题题水水水题题题水水水水水题题题题题
题题水水水水水水水水水水题题题题题水水题题水水题题题题水水水水水题题题题题
题题题水水水水水水水水水题题题题题题题题水水水题题题题水水水水题题题题题题
题题题题题水水水水水水水题题题题题题题题水水水题水水水水题题题题题题题题题
题题题题题题水水水水水水题题题题题题题水水水水题题水水水水题题题题题题题题
题题题题题题题题题水水水题题题题题题水水水水水题题题水水水水水水水题题题题
题题题题题题题题题题题题题题题题水水水水水水题题题题题水水水水水水题题题题
题题题题题题题题题题题题题题题水水水水水水题题题题题题水水水水水水水题题题
题题题题题题题题题题题题题题水水水水水题题题题题题题题题水水水水水水题题题
题题题题题题题题题题题题题水水水水水题题题题题题题题题题题水水水水题题题题
题题题题题题题题题题题题水水水题题题题题题题题题题题题题题题水水水题题题题
题题题题题题题题题题题题题题题题题题题题题题题题题题题题题题题题题题题题题 -
02009-07-22 10:56:45@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms就普通的穷举 也照样可以秒杀AC~(≧▽≦)/~啦啦啦
-
02009-07-17 22:43:22@
一个字 搜!
-
02009-07-11 12:56:52@
29行
秒杀
此题实在烦人