fork(3) download
  1.  
  2. object Pf {
  3. val md = java.security.MessageDigest.getInstance("SHA-1")
  4.  
  5. def getDigest(str: String): String =
  6. md.digest(str.getBytes("UTF-8")).map("%02x".format(_)).mkString
  7.  
  8. def readSource(): String = {
  9. val filename = getFilename()
  10. scala.io.Source.fromFile(filename).mkString
  11. }
  12.  
  13. def getFilename(): String =
  14. Thread.currentThread.getStackTrace()(3).getFileName()
  15.  
  16. def printFlag(suffix: String) =
  17. println("STCTF#" + suffix)
  18.  
  19. def generateFlagValue(): String = {
  20. val source = readSource()
  21. val sourceDigest = getDigest(source)
  22. val salt = "stctf2015"
  23. val tempValue = getDigest(salt + "$" + sourceDigest).substring(0, 10)
  24. tempValue match {
  25. case x if x.startsWith("a") => getDigest(x).substring(0, 12)
  26. case y if y.endsWith("8") => getDigest(y).substring(10, 22)
  27. case z if z.contains('d') => getDigest(z + "niiice").substring(3, 15)
  28. case _ => "really?"
  29. }
  30. }
  31.  
  32. def main(args: Array[String]) = {
  33. val flagValue = generateFlagValue()
  34. printFlag(flagValue)
  35. }
  36. }
  37.  
  38.  
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
Usage: scalac <options> <source files>
where possible standard options include:
  -Dproperty=value                Pass -Dproperty=value directly to the runtime system.
  -J<flag>                        Pass <flag> directly to the runtime system.
  -P:<plugin>:<opt>               Pass an option to a plugin
  -X                              Print a synopsis of advanced options.
  -bootclasspath <path>           Override location of bootstrap class files.
  -classpath <path>               Specify where to find user class files.
  -d <directory|jar>              destination for generated classfiles.
  -dependencyfile <file>          Set dependency tracking file.
  -deprecation                    Emit warning and location for usages of deprecated APIs.
  -encoding <encoding>            Specify character encoding used by source files.
  -explaintypes                   Explain type errors in more detail.
  -extdirs <path>                 Override location of installed extensions.
  -feature                        Emit warning and location for usages of features that should be imported explicitly.
  -g:<level>                      Set level of generated debugging info. (none,source,line,vars,notailcalls) default:vars
  -help                           Print a synopsis of standard options
  -javabootclasspath <path>       Override java boot classpath.
  -javaextdirs <path>             Override java extdirs classpath.
  -language:<_,feature,-feature>  Enable or disable language features: `_' for all, `-language:help' to list
  -no-specialization              Ignore @specialize annotations.
  -nobootcp                       Do not use the boot classpath for the scala jars.
  -nowarn                         Generate no warnings.
  -optimise                       Generates faster bytecode by applying optimisations to the program
  -print                          Print program with Scala-specific features removed.
  -sourcepath <path>              Specify location(s) of source files.
  -target:<target>                Target platform for object files. All JVM 1.5 targets are deprecated. (jvm-1.5,jvm-1.6,jvm-1.7,jvm-1.8) default:jvm-1.6
  -toolcp <path>                  Add to the runner classpath.
  -unchecked                      Enable additional warnings where generated code depends on assumptions.
  -uniqid                         Uniquely tag all identifiers in debugging output.
  -usejavacp                      Utilize the java.class.path in classpath resolution.
  -usemanifestcp                  Utilize the manifest in classpath resolution.
  -verbose                        Output messages about what the compiler is doing.
  -version                        Print product version and exit.
  @<file>                         A text file containing compiler arguments (options and source files)

spoj: The program compiled successfully, but Main.class was not found.
      Class Main should contain method: def main(args: Array[String]).
stdout
Standard output is empty