Punkte pro Testfall: 5; Abzug pro fehlerhaften Testfall: 0; Maximum: 10 Testfall: {-1,1'-}[(m,i,j)|m<-[0..3],i<-[0..3],j<-[0..3],j/=i,isValid(m,[(i,j,1)])] == [(1,0,1),(1,1,0),(2,0,1),(2,0,2),(2,1,0),(2,1,2),(2,2,0),(2,2,1),(3,0,1),(3,0,2),(3,0,3),(3,1,0),(3,1,2),(3,1,3),(3,2,0),(3,2,1),(3,2,3),(3,3,0),(3,3,1),(3,3,2)]; Testfall OK Testfall: {-1,2-}[(m,j)|m<-[4..9],j<-[[],[2]],isValid(let m=10;in(m,[y|(True,y)<-zip[j`mod`2<1|j<-iterate(`div`2)(3^2324)][(a,b,1)|a<-[0..m-1],b<-(j++[0..m-1])]]))] == [(m,[])|m<-[4..9]]; Testfall OK Testfaelle OK: 2; Testfaelle FALSCH: 0 Punkte : 10 Punkte pro Testfall: 10; Abzug pro fehlerhaften Testfall: 0; Maximum: 45 Testfall: {-2,1-}[(m,i,r)|m<-[2,3],r<-[[0..m-1]],i<-[[y|(True,y)<-zip[j`mod`2<1|j<-iterate(`div`2)(3^2321)][(a,b,1)|a<-r,b<-r]]],(ELg _ v)<-[inp2el(m,i)], r<-[[(a,b,1)|a<-r,b<-r,elem(a,1,b)v]], r/= i] == []; Testfall OK Testfall: {-2,2-}[m|m<-[4,5],r<-[[0..m-1]],i<-[[y|(True,y)<-zip[j`mod`2<1|j<-iterate(`div`2)(3^2322)][(a,b,1)|a<-r,b<-r]]],(ELg _ v)<-[(al2el.am2al.el2am.inp2el)(m,i)],r<-[[(a,b,1)|a<-r,b<-r,elem(a,1,b)v]], r/= i] == []; Testfall OK Testfall: {-2,3-}[m|m<-[2,3],r<-[[0..m-1]],i<-[[y|(True,y)<-zip[j`mod`2<1|j<-iterate(`div`2)(3^2323)][(a,b,1)|a<-r,b<-r]]],(ELg _ v)<-[(al2el.am2al.el2am.inp2el)(m,i)],r<-[[(a,b,1)|a<-r,b<-r,elem(a,1,b)v]], r/= i] == []; Testfall OK Testfall: {-2,4-}[m|m<-[4,5],r<-[[0..m-1]],i<-[[y|(True,y)<-zip[j`mod`2<1|j<-iterate(`div`2)(3^2324)][(a,b,1)|a<-r,b<-r]]],(ELg _ v)<-[(al2el.am2al.el2am.inp2el)(m,i)],r<-[[(a,b,1)|a<-r,b<-r,elem(a,1,b)v]], r/= i] == []; Testfall OK Testfall: {-2,5-}[m|m<-[4,7],r<-[[0..m-1]],i<-[[y|(True,y)<-zip[j`mod`2<1|j<-iterate(`div`2)(3^2325)][(a,b,1)|a<-r,b<-r]]],(ELg _ v)<-[(am2el.el2am.inp2el)(m,i)],r<-[[(a,b,1)|a<-r,b<-r,elem(a,1,b)v]], r/= i] == []; Testfall OK Testfaelle OK: 5; Testfaelle FALSCH: 0 Punkte : 45 Punkte pro Testfall: 7; Abzug pro fehlerhaften Testfall: 0; Maximum: 45 Testfall: {-3,1-}[(m,i,r)|m<-[2,3],r<-[[0..m-1]],i<-[[y|(True,y)<-zip[j`mod`2<1|j<-iterate(`div`2)(3^2331)][(a,b,1)|a<-r,b<-r]]],r<-[[(a,b,1)|a<-r,b<-r,isNeighbourOf (inp2el(m,i)) a b]], r/= i] == []; Testfall OK Testfall: {-3,2-}[(m,i,r)|m<-[4..7],r<-[[0..m-1]],i<-[[y|(True,y)<-zip[j`mod`2<1|j<-iterate(`div`2)(3^2332)][(a,b,1)|a<-r,b<-r]]],r<-[[(a,b,1)|a<-r,b<-r,isNeighbourOf (inp2el(m,i)) a b]], r/= i] == []; Testfall OK Testfall: {-3,2'-}[(m,i,r)|m<-[8..9],r<-[[0..m-1]],i<-[[y|(True,y)<-zip[j`mod`2<1|j<-iterate(`div`2)(3^2332)][(a,b,1)|a<-r,b<-r]]],r<-[[(a,b,1)|a<-r,b<-r,isNeighbourOf (inp2el(m,i)) a b]], r/= i] == []; Testfall OK Testfall: {-3,3-}[o|m<-[4..7],r<-[[0..m-1]],i<-[[y|(True,y)<-zip[j`mod`2<1|j<-iterate(`div`2)(3^2332)][(a,b,1)|a<-r,b<-r]]],o<-[(numberOfEdges.el2am.inp2el)(m,i)]] == [8,14,19,25]; Testfall OK Testfall: {-3,4-}[o|m<-[8..14],r<-[[0..m-1]],i<-[[y|(True,y)<-zip[j`mod`2<1|j<-iterate(`div`2)(3^2332)][(a,b,1)|a<-r,b<-r]]],o<-[(numberOfEdges.el2am.inp2el)(m,i)]] == [33,43,51,60,72,89,103]; Testfall OK Testfall: {-3,4'-}[o|m<-[15..20],r<-[[0..m-1]],i<-[[y|(True,y)<-zip[j`mod`2<1|j<-iterate(`div`2)(3^2332)][(a,b,1)|a<-r,b<-r]]],o<-[(numberOfEdges.el2am.inp2el)(m,i)]] == [114,128,145,165,187,203]; Testfall OK Testfall: {-3,5-}[v|m<-[5],r<-[[0..m-1]],i<-[[y|(True,y)<-zip[j`mod`4<1|j<-iterate(`div`4)(3^2332)][(a,b,1)|a<-r,b<-r]]],v<-[0..m],isOnCycle((el2al.inp2el)(m,i))v 100] == [0,1,2]; Testfall OK Testfall: {-3,6-}[v|m<-[6],r<-[[0..m-1]],i<-[[y|(True,y)<-zip[j`mod`4<1|j<-iterate(`div`4)(3^2332)][(a,b,1)|a<-r,b<-r]]],v<-[0..m],isOnCycle((el2al.inp2el)(m,i))v 100] == [4,5]; Testfall OK Testfall: {-3,7-}[v|m<-[9],r<-[[0..m-1]],i<-[[y|(True,y)<-zip[j`mod`4<1|j<-iterate(`div`4)(3^2335)][(a,b,1)|a<-r,b<-r]]],v<-[0..m],isOnCycle((el2al.inp2el)(m,i))v 100] == [1,2,4,5,8]; Testfall OK Testfaelle OK: 9; Testfaelle FALSCH: 0 Punkte : 45 Punkte gesamt: 100