10人を5部屋に割り当てるときに空室があってもよいが1部屋の定員は3とすると 4229400通り数えられた。
library(gtools)
n=5
r=10
c=3
perm=permutations(n,r,rep=T)
tail(perm)
h <- function(x) max(tabulate(x))<=c
idx3=which(apply(perm,1,h))
perm3=perm[idx3,]
tail(perm3) # 定員3空室可
> tail(perm3)
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
[4229398,] 5 5 5 4 4 4 3 3 2 3
[4229399,] 5 5 5 4 4 4 3 3 3 1
[4229400,] 5 5 5 4 4 4 3 3 3 2
>
g <- function(x) all(1:n %in% x)
system.time(apply(perm3[1:1e5,],1,g)) # fast
idx35=which(apply(perm3,1,g))
perm35=perm3[idx35,]
tail(perm35) # 定員3空室不可
> tail(perm35)
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
[3137398,] 5 5 5 4 4 4 3 2 3 1
[3137399,] 5 5 5 4 4 4 3 3 1 2
[3137400,] 5 5 5 4 4 4 3 3 2 1
g <- function(x) all(1:n %in% x) #
system.time(apply(perm[1:1e5,],1,g)) # fast
i=which(apply(perm,1,g)) # lengthy
perm5=perm[i,] #定員なし空室不可
> tail(perm5)
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
[5102998,] 5 5 5 5 5 5 4 2 3 1
[5102999,] 5 5 5 5 5 5 4 3 1 2
[5103000,] 5 5 5 5 5 5 4 3 2 1
面白い問題おしえて〜な 27問目
■ このスレッドは過去ログ倉庫に格納されています
339132人目の素数さん
2018/09/04(火) 13:35:31.81ID:7/9foHEp■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 自民支持率、消えた解散効果 22.8%に急落◆時事通信6月調査 [蚤の市★]
- 【節約】物価高でも「食費月1万円」は可能? 月7000円台、レバーと100円キャベツで回す強者も★2 [ひぃぃ★]
- 大谷翔平 第2子誕生を正式発表「無事に生まれてきてくれてありがとう」 ★2 [ひかり★]
- 日本行きツアー募集の中国旅行会社、一転して募集停止…関連報道広がり中国政府から圧力か [♪♪♪★]
- 【香川】外国人材の受け入れ・活躍の促進へ 日本語研修などの経費を補助 [煮卵★]
- 【埼玉県警】国道で持ち運び可能なオービス盗まれる 速度取り締まり中 ★2 [nita★]
- 【STARDOM】スターダムワールド Part.121
- こいせん4 全レス転載禁止
- やくせん ★3
- 2026 MotoGP Lap34【チェコGP】
- とらせん 恵みの雨
- ハム専 気合入れていけ、ファイターズ
- 【実況】博衣こよりのえちえちホロ爆走祭 🧪 Part.2
- 【実況】博衣こよりのえちえちホロ爆走祭 🧪
- 厚労省、ハローワークでAIを使って仕事提案する実証実験を行う。職員の7割は「妥当ではない」と評価 [663766621]
- 【画像】イチローに勝った野球部JK、変わり果てた姿で発見される👴💦 [632966346]
- 【悲報】広報官、高市総理アピール投稿→コミュニティノートを付けられる [834922174]
- 🏡👊😅👊おやすみパンチ👊😅👊🏡