Example #1
0
function check_all_tests($in1, $st1, $jr1)
{
    $in = explode(chr(13) . chr(10), $in1);
    $st = explode(chr(13) . chr(10), $st1);
    $jr = explode(chr(13) . chr(10), $jr1);
    sscanf($in[0], "%d", &$tests);
    // echo("- $tests -<br>"); if Debug
    for ($t = 0; $t < $tests; $t++) {
        sscanf($in[$t * 3 + 1], "%s", $tmp);
        sscanf($in[$t * 3 + 2], "%s", $A);
        sscanf($in[$t * 3 + 3], "%s", $B);
        sscanf($st[$t * 2], "%d", &$sizeStudent);
        sscanf($st[$t * 2 + 1], "%s", $C);
        sscanf($jr[$t * 2], "%d", &$sizeJury);
        sscanf($jr[$t * 2 + 1], "%s", $D);
        // echo("- $A - $B - $C - $sizeStudent - $sizeJury -<br>"); if Debug
        if (!check_one_test($A, $B, $C, $sizeJury, $sizeStudent)) {
            return false;
        }
    }
    return true;
}
Example #2
0
function check_all_tests ( $in, $st, $jr ) {
  // Parse Input File
  $tests = strtok($in," \r\n\t");
  for($t=0;$t<$tests;$t++){
    $deg[$t] = strtok(" \r\n\t");
    for($i=0;$i<$deg[$t];$i++)
      $A[$t][$i] = strtok(" \r\n\t");
    for($i=0;$i<$deg[$t];$i++)
      $B[$t][$i] = strtok(" \r\n\t");
  };
  // Parse Jury Output File
  $first = strtok($jr," \r\n\t"); // Maybe 'NO'
  for($t=0;$t<$tests;$t++){
    if (!strcmp($first,"NO")) { 
      $noAnswer[$t] = true;
    } else {
      for($i=0;$i<(2*$deg[$t]-1);$i++) strtok(" \r\n\t");
    };
    $first = strtok(" \r\n\t");
  };
  // Parse Student Output File
  $first = strtok($st," \r\n\t"); // Maybe 'NO'
  for($t=0;$t<$tests;$t++){
    if (!strcmp($first,"NO")) { 
      if(!isset($noAnswer[$t])) return false;
    } else {
      unset($P); unset($Q);
      $P[0] = $first;
      for($i=1;$i<$deg[$t];$i++) $P[$i] = strtok(" \r\n\t");
      for($i=0;$i<$deg[$t];$i++) $Q[$i] = strtok(" \r\n\t");
      if (!check_one_test($A[$t],$B[$t],$P,$Q,$deg[$t])) return false;
    };
    $first = strtok(" \r\n\t");
  };
  return true;
}