楼主: newkid

[每日一题] 2022 PUZZLEUP

[复制链接]
论坛徽章:
407
紫蛋头
日期:2012-05-21 10:19:41迷宫蛋
日期:2012-06-06 16:02:49奥运会纪念徽章:足球
日期:2012-06-29 15:30:06奥运会纪念徽章:排球
日期:2012-07-10 21:24:24鲜花蛋
日期:2012-07-16 15:24:59奥运会纪念徽章:拳击
日期:2012-08-07 10:54:50奥运会纪念徽章:羽毛球
日期:2012-08-21 15:55:33奥运会纪念徽章:蹦床
日期:2012-08-21 21:09:51奥运会纪念徽章:篮球
日期:2012-08-24 10:29:11奥运会纪念徽章:体操
日期:2012-09-07 16:40:00
151#
发表于 2022-12-18 21:28 | 只看该作者
python版本 能算,但是很慢
a=[chr(i+64) for i in range(1,7)]

b=[[i,j,i+j,1] for i in a for j in a if i<j]

for i in range(len(b)):b[i][3]=pow(10,i)

v=[[i+j+k,pow(10,ord(i)-65)+pow(10,ord(j)-65)+pow(10,ord(k)-65),sum([n[3] for n in b if n[0] in(i+j+k) and n[1] in(i+j+k)])]for i in a for j in a for k in a if i<j and j<k]

r=[[1,n[0],n[1],n[2]] for n in v if n[0]=='ABC']

while r[0][0]<=10:
  r0=r
  r1=[[i[0]+1,i[1]+j[0],i[2]+j[1],i[3]+j[2]] for i in r0 for j in v if i[1][-3:]<j[0] and '6' not in str(i[2]+j[1]) and '3' not in str(i[3]+j[2])]
  print(r0[0])
  if len(r1)==0:
    break
  else:
    r=r1

[1, 'ABC', 111, 100011]
[2, 'ABCABD', 1122, 1100112]
[3, 'ABCABDACD', 2223, 1001100222]
[4, 'ABCABDACDAEF', 112224, 100001001111222]
[5, 'ABCABDACDAEFBCD', 113334, 100002002211222]
[6, 'ABCABDACDAEFBCDBEF', 223344, 200002112211222]
[7, 'ABCABDACDAEFBCEBDECDE', 144444, 102022022211222]
[8, 'ABCABDACDAEFBCEBDECDFCEF', 344544, 211222022211222]
[9, 'ABCABDACEADFAEFBCFBDEBEFCDE', 454455, 212121222222222]
[10, 'ABCABDACEADFAEFBCFBDEBEFCDECDF', 555555, 222222222222222]

a=[chr(i+64) for i in range(1,13)]

b=[[i,j,i+j,1] for i in a for j in a if i<j]

for i in range(len(b)):b[i][3]=pow(1000,i)

v=[[i+j+k,pow(1000,ord(i)-65)+pow(1000,ord(j)-65)+pow(1000,ord(k)-65),sum([n[3] for n in b if n[0] in(i+j+k) and n[1] in(i+j+k)])]for i in a for j in a for k in a if i<j and j<k]

r=[[1,n[0],n[1],n[2]] for n in v if n[0]=='ABC']

while r[0][0]<=110:
  r0=r
  r1=[[i[0]+1,i[1]+j[0],i[2]+j[1],i[3]+j[2]] for i in r0 for j in v if i[1][-3:]<j[0] and '56' not in str(i[2]+j[1]) and '6' not in str(i[3]+j[2])]
  print(r0[0])
  if len(r1)==0:
    break
  else:
    r=r1

[1, 'ABC', 1001001, 1000000000000000000000000000001001]
[2, 'ABCABD', 1001002002, 1001000000000000000000000000001001002]
[3, 'ABCABDABE', 1001001003003, 1001001000000000000000000000001001001003]

使用道具 举报

回复
论坛徽章:
407
紫蛋头
日期:2012-05-21 10:19:41迷宫蛋
日期:2012-06-06 16:02:49奥运会纪念徽章:足球
日期:2012-06-29 15:30:06奥运会纪念徽章:排球
日期:2012-07-10 21:24:24鲜花蛋
日期:2012-07-16 15:24:59奥运会纪念徽章:拳击
日期:2012-08-07 10:54:50奥运会纪念徽章:羽毛球
日期:2012-08-21 15:55:33奥运会纪念徽章:蹦床
日期:2012-08-21 21:09:51奥运会纪念徽章:篮球
日期:2012-08-24 10:29:11奥运会纪念徽章:体操
日期:2012-09-07 16:40:00
152#
发表于 2022-12-19 09:26 | 只看该作者
newkid 发表于 2022-12-17 11:05
手工写了六个20组的分配法,没有仔细验证:艺术组:ABCAEFACECDEBCFBEFBDEABDADFCDF体育组:ABFBCDDEFBDFAB ...

好像是这么构造的
艺术组
ABC CDE EFA ---间隔为11
ABD CDF EFB---间隔为12
ACE ---间隔为22
ADF CEA ---间隔为31
BCF ---间隔为13

在编艺术组的同时,对称小组被划入体育组
比如ABC的对称是FED,其中每个字母的对称点='A'+'F'-字母

使用道具 举报

回复
论坛徽章:
520
奥运会纪念徽章:垒球
日期:2008-09-15 01:28:12生肖徽章2007版:鸡
日期:2008-11-17 23:40:58生肖徽章2007版:马
日期:2008-11-18 05:09:48数据库板块每日发贴之星
日期:2008-11-29 01:01:02数据库板块每日发贴之星
日期:2008-12-05 01:01:03生肖徽章2007版:虎
日期:2008-12-10 07:47:462009新春纪念徽章
日期:2009-01-04 14:52:28数据库板块每日发贴之星
日期:2009-02-08 01:01:03生肖徽章2007版:蛇
日期:2009-03-09 22:18:532009日食纪念
日期:2009-07-22 09:30:00
153#
 楼主| 发表于 2022-12-19 10:03 | 只看该作者
本帖最后由 newkid 于 2022-12-19 10:05 编辑

我的计划是把他们分成甲乙两个六人组。然后再找出所有这两组之间的三角形,甲组2人乙组1人=C(6,2)*6=90种,同理乙组2人甲组1人=C(6,2)*6=90种,总共是20+20+90+90=220
目前有一个初步的想法如何来分配这90种,但是还需要找时间来验证。

使用道具 举报

回复
论坛徽章:
407
紫蛋头
日期:2012-05-21 10:19:41迷宫蛋
日期:2012-06-06 16:02:49奥运会纪念徽章:足球
日期:2012-06-29 15:30:06奥运会纪念徽章:排球
日期:2012-07-10 21:24:24鲜花蛋
日期:2012-07-16 15:24:59奥运会纪念徽章:拳击
日期:2012-08-07 10:54:50奥运会纪念徽章:羽毛球
日期:2012-08-21 15:55:33奥运会纪念徽章:蹦床
日期:2012-08-21 21:09:51奥运会纪念徽章:篮球
日期:2012-08-24 10:29:11奥运会纪念徽章:体操
日期:2012-09-07 16:40:00
154#
发表于 2022-12-19 10:18 | 只看该作者
12个好像没法做到6个的那么对称
因为包含单个字母(比如A)的11*10/2=55种,没法平均分给体育和艺术

使用道具 举报

回复
论坛徽章:
520
奥运会纪念徽章:垒球
日期:2008-09-15 01:28:12生肖徽章2007版:鸡
日期:2008-11-17 23:40:58生肖徽章2007版:马
日期:2008-11-18 05:09:48数据库板块每日发贴之星
日期:2008-11-29 01:01:02数据库板块每日发贴之星
日期:2008-12-05 01:01:03生肖徽章2007版:虎
日期:2008-12-10 07:47:462009新春纪念徽章
日期:2009-01-04 14:52:28数据库板块每日发贴之星
日期:2009-02-08 01:01:03生肖徽章2007版:蛇
日期:2009-03-09 22:18:532009日食纪念
日期:2009-07-22 09:30:00
155#
 楼主| 发表于 2022-12-19 23:54 | 只看该作者
我现在怀疑只有总人数=4N+2才能画到满,12人没办法。

使用道具 举报

回复
论坛徽章:
407
紫蛋头
日期:2012-05-21 10:19:41迷宫蛋
日期:2012-06-06 16:02:49奥运会纪念徽章:足球
日期:2012-06-29 15:30:06奥运会纪念徽章:排球
日期:2012-07-10 21:24:24鲜花蛋
日期:2012-07-16 15:24:59奥运会纪念徽章:拳击
日期:2012-08-07 10:54:50奥运会纪念徽章:羽毛球
日期:2012-08-21 15:55:33奥运会纪念徽章:蹦床
日期:2012-08-21 21:09:51奥运会纪念徽章:篮球
日期:2012-08-24 10:29:11奥运会纪念徽章:体操
日期:2012-09-07 16:40:00
156#
发表于 2022-12-20 07:41 来自手机 | 只看该作者
newkid 发表于 2022-12-19 23:54
我现在怀疑只有总人数=4N+2才能画到满,12人没办法。

用10个人的试试

使用道具 举报

回复
论坛徽章:
520
奥运会纪念徽章:垒球
日期:2008-09-15 01:28:12生肖徽章2007版:鸡
日期:2008-11-17 23:40:58生肖徽章2007版:马
日期:2008-11-18 05:09:48数据库板块每日发贴之星
日期:2008-11-29 01:01:02数据库板块每日发贴之星
日期:2008-12-05 01:01:03生肖徽章2007版:虎
日期:2008-12-10 07:47:462009新春纪念徽章
日期:2009-01-04 14:52:28数据库板块每日发贴之星
日期:2009-02-08 01:01:03生肖徽章2007版:蛇
日期:2009-03-09 22:18:532009日食纪念
日期:2009-07-22 09:30:00
157#
 楼主| 发表于 2022-12-20 23:35 | 只看该作者
10个人我也弄不出来,最多画到92个。

使用道具 举报

回复
论坛徽章:
520
奥运会纪念徽章:垒球
日期:2008-09-15 01:28:12生肖徽章2007版:鸡
日期:2008-11-17 23:40:58生肖徽章2007版:马
日期:2008-11-18 05:09:48数据库板块每日发贴之星
日期:2008-11-29 01:01:02数据库板块每日发贴之星
日期:2008-12-05 01:01:03生肖徽章2007版:虎
日期:2008-12-10 07:47:462009新春纪念徽章
日期:2009-01-04 14:52:28数据库板块每日发贴之星
日期:2009-02-08 01:01:03生肖徽章2007版:蛇
日期:2009-03-09 22:18:532009日食纪念
日期:2009-07-22 09:30:00
158#
 楼主| 发表于 2022-12-21 22:54 | 只看该作者
#10 FIVE RECTANGLES IN A SQUARE

When the dimensions of five rectangles are sorted, the numbers 1, 2, 3, 4, 5, 6, 7, 8, 9 and 10 are obtained. What is the area of the largest square that can be formed by putting these rectangles together?

把五个长方形的长宽排序,得到数字1、2、3、4、5、6、7、8、9和10。将这些长方形拼在一起得到的最大的正方形面积是多少?

---------
四个大的围绕一个小的,很容易就凑出来了。

使用道具 举报

回复
论坛徽章:
407
紫蛋头
日期:2012-05-21 10:19:41迷宫蛋
日期:2012-06-06 16:02:49奥运会纪念徽章:足球
日期:2012-06-29 15:30:06奥运会纪念徽章:排球
日期:2012-07-10 21:24:24鲜花蛋
日期:2012-07-16 15:24:59奥运会纪念徽章:拳击
日期:2012-08-07 10:54:50奥运会纪念徽章:羽毛球
日期:2012-08-21 15:55:33奥运会纪念徽章:蹦床
日期:2012-08-21 21:09:51奥运会纪念徽章:篮球
日期:2012-08-24 10:29:11奥运会纪念徽章:体操
日期:2012-09-07 16:40:00
159#
发表于 2022-12-22 09:25 来自手机 | 只看该作者
本帖最后由 〇〇 于 2022-12-22 20:19 编辑

居然只有一个解 10*15=150


  a    b  
e       g
   x  y
f       h
  c    d


with recursive t as(select i from range(1,11)t(i)),
ab(a,b) as(select t.i a,j.i b from t,t j where t.i<j.i),
cd(c,d) as(select a,b from ab),
ef(e,f) as(select a,b from ab),
gh(g,h) as(select a,b from ab),
xy(x,y) as(select a,b from ab),
p as(select * from ab,cd,ef,gh,xy
where a+b=c+d and e+f=g+h and a-x=c and e-y=g
and a+b>3)
select * from p where list_sort([a,b,c,d,e,f,g,h,x,y])=[1,2,3,4,5,6,7,8,9,10];

┌───┬───┬───┬────┬───┬───┬───┬───┬───┬───┐
│ a │ b │ c │ d  │ e │ f │ g │ h │ x │ y │
├───┼───┼───┼────┼───┼───┼───┼───┼───┼───┤
│ 7 │ 8 │ 5 │ 10 │ 4 │ 6 │ 1 │ 9 │ 2 │ 3 │
└───┴───┴───┴────┴───┴───┴───┴───┴───┴───┘



使用道具 举报

回复
论坛徽章:
520
奥运会纪念徽章:垒球
日期:2008-09-15 01:28:12生肖徽章2007版:鸡
日期:2008-11-17 23:40:58生肖徽章2007版:马
日期:2008-11-18 05:09:48数据库板块每日发贴之星
日期:2008-11-29 01:01:02数据库板块每日发贴之星
日期:2008-12-05 01:01:03生肖徽章2007版:虎
日期:2008-12-10 07:47:462009新春纪念徽章
日期:2009-01-04 14:52:28数据库板块每日发贴之星
日期:2009-02-08 01:01:03生肖徽章2007版:蛇
日期:2009-03-09 22:18:532009日食纪念
日期:2009-07-22 09:30:00
160#
 楼主| 发表于 2022-12-22 22:44 | 只看该作者
我把你的SQL翻译成ORACLE, 改正了其中的问题:


with  t as(select level i,power(2,level-1) bit from dual connect by level<=10),
ab(a,b,bit_a,bit_b) as(select t.i a,j.i b, t.bit bit_a,j.bit bit_b from t,t j where t.i<>j.i), ---- 没必要排大小
cd(c,d,bit_c,bit_d) as(select a,b,bit_a,bit_b from ab),
ef(e,f,bit_e,bit_f) as(select a,b,bit_a,bit_b from ab),
gh(g,h,bit_g,bit_h) as(select a,b,bit_a,bit_b from ab),
xy(x,y,bit_x,bit_y) as(select a,b,bit_a,bit_b from ab),
p as(select * from ab,cd,ef,gh,xy
where a+b=c+d and e+f=g+h and a-x=c
      and e-y=g  -------- 和图中相反,但不影响结果
      and a+b=e+f  ------ 必须是正方形
and a+b>3)
select a,b,c,d,e,f,g,h,x,y
from p
where
bit_a+bit_b
+bit_c+bit_d
+bit_e+bit_f
+bit_g+bit_h
+bit_x+bit_y = power(2,10)-1;


         A          B          C          D          E          F          G          H          X          Y
---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ----------
         7          6          5          8          4          9          3         10          2          1
         8          5          6          7          4          9          3         10          2          1
         8          3          1         10          6          5          2          9          7          4
        10          1          3          8          6          5          2          9          7          4
         4          9          3         10          7          6          5          8          1          2
        10          3          9          4          7          6          5          8          1          2
         6          5          2          9          8          3          1         10          4          7
         9          2          5          6          8          3          1         10          4          7
         4          9          3         10          8          5          6          7          1          2
        10          3          9          4          8          5          6          7          1          2
         8          3          1         10          9          2          5          6          7          4
        10          1          3          8          9          2          5          6          7          4
         6          5          2          9         10          1          3          8          4          7
         9          2          5          6         10          1          3          8          4          7
         7          6          5          8         10          3          9          4          2          1
         8          5          6          7         10          3          9          4          2          1

16 rows selected.

所以最大正方形是 13*13

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表