library(RcppAlgos)
persons <- c("A","B","C","D")
vegs <- c("ナス","ピーマン","キュウリ","タマネギ")
all_bits <- permuteGeneral(v = c(0L, 1L), m = 16, repetition = TRUE)
is_valid <- function(bits16) {
M <- matrix(bits16, nrow = 4, ncol = 4, byrow = TRUE,
dimnames = list(persons, vegs))
c1 <- (sum(M[, "タマネギ"] == 1L) == 3L) && (M["A", "タマネギ"] == 1L)
both0 <- (M["A", ] == 0L) & (M["B", ] == 0L)
c2 <- (sum(both0) == 1L) && (both0["ピーマン"] == FALSE)
c3 <- (sum(M["C", ] == 1L) == 2L) && (M["C", "キュウリ"] == 1L)
not_egg <- which(M[, "ナス"] == 0L)
c4 <- (length(not_egg) == 2L) && all(M[not_egg, "キュウリ"] == 0L)
c5 <- (sum(M["D", ] == 1L) > sum(M["B", ] == 1L))
isTRUE(c1 && c2 && c3 && c4 && c5)
}
ok_idx <- which(apply(all_bits, 1, is_valid))
cat("解の個数:", length(ok_idx), "\n")
solutions <- all_bits[ok_idx, , drop = FALSE]
for (i in seq_len(nrow(solutions))) {
cat("\n--- 解", i, "---\n")
M <- matrix(solutions[i, ], nrow = 4, ncol = 4, byrow = TRUE,
dimnames = list(persons, vegs))
print(M)
bought_list <- lapply(persons, function(p) vegs[which(M[p, ] == 1L)])
names(bought_list) <- persons
print(bought_list)
}
ニュース
- 【W杯】ブラジルDF、塩貝に耳打ちした後、耳を触る ブラジルで「小僧」とあしらう意味 ブラジルFWは「ちっぽけな奴め!」 [ネギうどん★]
- 日本、大学を800から250-400に削減、高齢者の自己負担を原則3割に変更へ [お断り★]
- 【円安】1ドル162円台まで下落 円相場が39年半ぶりの円安ドル高水準に ★2 [ぐれ★]
- 【サッカー】塩貝健人、挑発されるも「仕方ない」 出番なしで…発言を弁解「弱いと言いたかったわけじゃ」 [王子★]
- 【W杯】ブラジルに敗れた森保監督「これからも世界一を目指して日本のために頑張りたい」★2 [ネギうどん★]
- 強豪オランダもPK戦でモロッコに敗れる…ドイツに続き欧州強国2チームが32強でまさかの終了★2 [王子★]
- とらせん
- 日本、ブラジル戦でベスト32敗退!反省会会場
- やくせん
- 【地上波/DAZNほか】 FIFAワールドカップ2026 総合スレ★269【メキシコ/カナダ/アメリカ】
- はません オーナーの地元新潟遠征
- 競輪実況★1791
- 片山さつき「円安を注視してる」 [667744927]
- 🤔10年前のAV見て抜ける?👍💦 [153490809]
- 【動画】まんさん、バックが下手すぎて炎wwwwwwwwwwwwwwwwww [398059782]
- なんかダンガンロンパのエッチなゲームあったよな
- 吉田⭐シャドウミストレス⭐和朗🏡
- クリロナ⏪これ「クロリナ」だと思ってたよな [856346618]