chiark / gitweb /
graphviz, etc.: do not skip dropped nodes when generating defeats, so that they end...
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Thu, 6 Feb 2014 00:56:31 +0000 (00:56 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Thu, 6 Feb 2014 00:56:31 +0000 (00:56 +0000)
compute

diff --git a/compute b/compute
index f7f3f67..7c70079 100755 (executable)
--- a/compute
+++ b/compute
@@ -294,9 +294,9 @@ sub chremain () {
     return grep { !$ch[$_]{Dropped} } (0..$#ch);
 }
 
-foreach my $ia (chremain()) {
+foreach my $ia (0..$#ch) {
     $defeats->add_vertex($choices[$ia]);
-    foreach my $ib (chremain()) {
+    foreach my $ib (0..$#ch) {
        my $vab = scalar @{ $vab[$ia][$ib] };
        my $vba = scalar @{ $vab[$ib][$ia] };
        next unless $vab > $vba;
@@ -331,6 +331,12 @@ sub weaker ($$) {
 
 our $showg = $defeats->deep_copy();
 
+foreach my $ix (0..$#ch) {
+    my $cho = $ch[$ix];
+    next unless $cho->{Dropped};
+    $defeats->delete_vertex($choices[$ix]);
+}
+
 our $schwartz;
 
 for (;;) {