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; }
- 
  0@ 2016-08-13 19:59:26我笨。。。87行AC。。。写了11个*if* 
 对了!还要注意 int64
- 
  0@ 2009-11-09 18:10:53比较烦,最好是用坐标 
- 
  0@ 2009-11-01 21:58:08这道题考的不是技巧,是耐性 
- 
  0@ 2009-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. 
- 
  0@ 2009-10-26 08:25:53居然模拟都要写那么多 悲剧啊!莎士比亚啊~~~ 
- 
  0@ 2009-10-13 14:58:04program 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.巨猥琐的程序。。。。。 
- 
  0@ 2009-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第一次用三维数组,还是用暴力 不过大家都一样!! 
- 
  0@ 2009-08-29 11:56:51超WS的水题...1次ms..为什么通过的人那么少.. 
 分顶点和非顶点讨论...非顶点处理和08普及组的传球游戏一样...
 然后画张图...给每条边定个编号...顶点的值就是相连3条边里最靠近该顶点的3个顶点的和..
- 
  0@ 2009-08-22 19:06:07var 
 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.
- 
  0@ 2009-08-19 19:07:47bt题目…… 膜拜29行的前辈。。 
- 
  0@ 2009-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
- 
  0@ 2009-08-09 11:40:19如对本题有疑问可以参看我的题解:http://xujieqi.blog.hexun.com/35722312_d.html 
- 
  0@ 2009-08-09 11:06:12额,一定要用int64才行...... 
 郁闷.....
- 
  0@ 2009-08-01 13:50:18program 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.很猥琐的过了 
- 
  0@ 2009-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
 来硬的就行
- 
  0@ 2009-07-27 10:30:58我的程序代码在下面 题题题题题题题题题题题题题题题题题题题题题题题题题题题题题题题题题题题题题 
 题题题题题题题题题题题题题题题题题题题题题题题题题题题题水水水水题题题题题
 题题题题题题题题题题题题题题题题题题题题题题题题水水水水水水水水水题题题题
 题题题题题题题题题题题题题题题题题题水水水水水水水水水水水水水水水题题题题
 题题题题题题题题题题题题题题题题水水水水水水水水水水水水水水水题题题题题题
 题题题题题题题题题题题水水水水题水水水水水水水水水水水题题题题题题题题题题
 题题题题题题题题水水水水水水水题水水水题题水水水水水题题题题题题题题题题题
 题题题水水水水水水水水水水水水题题题题题题水水水水题题题题题题题题题题题题
 题水水水水水水水水水水水水水水题题题题题题水水水水题题题题题题题题题题题题
 题水水水水水水水水水水水水题题题题题题题水水水水水水水水水水水题题题题题题
 题水水水水水水水水水水水水题题题题题题水水水水水水水水水水水水水水题题题题
 题题水水水水水水水水水水题题题题题水水水水水水题题题水水水水水水水题题题题
 题题题题题题题题水水水水题题题题题水水水水题题题题题题水水水水水题题题题题
 题题题题题题题题水水水水题题题题水水水水题题水水题题题水水水水水题题题题题
 题题题题题题题题水水水水题题题题水水水水题题水水水水题水水水水水题题题题题
 题题题题题题题题水水水水题题题题水水水水题题水水水水题水水水水水题题题题题
 题题题题题题题题水水水水题题题题水水水水题题水水水题题水水水水水题题题题题
 题题题题题题题题水水水水题题题题水水水水题题水水水题题水水水水水题题题题题
 题题题题题题题题水水水水题题题题水水水水题水水水水题题水水水水水题题题题题
 题题题题题题题题水水水水题题题题水水水水题水水水水题题水水水水水题题题题题
 题题题题题题题题水水水水题题题题水水水水题水水水水题题水水水水水题题题题题
 题题题题题题题题水水水水题题题题水水水水题水水水水题题水水水水水题题题题题
 题题题题题题题题水水水水题题题题水水水题题水水水水题题水水水水水题题题题题
 题题水水题题题水水水水水题题题题水水水题题水水水题题题水水水水水题题题题题
 题题水水水水水水水水水水题题题题题水水题题水水题题题题水水水水水题题题题题
 题题题水水水水水水水水水题题题题题题题题水水水题题题题水水水水题题题题题题
 题题题题题水水水水水水水题题题题题题题题水水水题水水水水题题题题题题题题题
 题题题题题题水水水水水水题题题题题题题水水水水题题水水水水题题题题题题题题
 题题题题题题题题题水水水题题题题题题水水水水水题题题水水水水水水水题题题题
 题题题题题题题题题题题题题题题题水水水水水水题题题题题水水水水水水题题题题
 题题题题题题题题题题题题题题题水水水水水水题题题题题题水水水水水水水题题题
 题题题题题题题题题题题题题题水水水水水题题题题题题题题题水水水水水水题题题
 题题题题题题题题题题题题题水水水水水题题题题题题题题题题题水水水水题题题题
 题题题题题题题题题题题题水水水题题题题题题题题题题题题题题题水水水题题题题
 题题题题题题题题题题题题题题题题题题题题题题题题题题题题题题题题题题题题题
- 
  0@ 2009-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~(≧▽≦)/~啦啦啦 
- 
  0@ 2009-07-17 22:43:22一个字 搜! 
- 
  0@ 2009-07-11 12:56:5229行 
 秒杀
 此题实在烦人