R语言:新娘和新郞
三对情侣介入婚礼,三个新郞为A、B、C,三个新娘为X、Y、Z。有人不知道谁和谁成婚,于是询问了六位新人中的三位,但听到的答复是这样的:A说他将和X成婚;X说她的未婚夫是C;C说他将和Z成婚。这人听后知道他们在恶作剧,全是谎言。请编程找出谁将和谁成婚。
a <- expand.grid(rep(list(1:3),3))
names(a) <- c(‘x’,’y’,’z’)
b <- function(x, y) seq(x – 1, length.out = y) %% y + 1
a[apply(a[ , 1:ncol(a)] != a[ , b(2,ncol(a))], 1, function(f) all(f == TRUE))& a[1]!=1&a[1]!=3&a[3]!=3, ]
x y z
2 3 1