Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/local/bin/io
- accusers := Map clone
- fname := System args second
- fd := File clone open(fname)
- for (i, 1, fd readLine asNumber,
- accusations := fd readLine splitNoEmpties;
- for (i, 1, accusations second asNumber,
- accuser := accusations first;
- accused := fd readLine;
- if (accusers hasKey(accuser),
- accusers at(accuser) append(accused),
- accusers atPut(accuser, list(accused)))))
- liars := list()
- nonliars := list()
- accusers foreach(k, v,
- if(liars contains(k) or (nonliars intersect(v) size > 0),
- liars append(k); nonliars appendSeq(v),
- nonliars append(k); liars appendSeq(v)))
- liar_num := liars unique size
- nonliar_num := nonliars unique size
- if (liar_num > nonliar_num,
- "#{liar_num} #{nonliar_num}",
- "#{nonliar_num} #{liar_num}") interpolate println
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement