fork download
  1. package main
  2.  
  3. import (
  4. "bufio"
  5. "fmt"
  6. "os"
  7. "strings"
  8. )
  9.  
  10. func main() {
  11. s := bufio.NewScanner(os.Stdin)
  12. for s.Scan() {
  13. line := strings.TrimSpace(s.Text())
  14. rotation, size := line, 0
  15. for i := 0; i < len(line); i++ {
  16. attempt := line[i:] + line[:i]
  17. if attempt < rotation {
  18. rotation, size = attempt, i
  19. }
  20. }
  21. fmt.Printf("%d %s\n", size, rotation)
  22. }
  23. }
Success #stdin #stdout 0s 3096KB
stdin
aabbccddbbaabb
	onion
	bbaaccaadd
	alfalfa
	weugweougewoiheew
	pneumonoultramicroscopicsilicovolcanoconiosis
stdout
10 aabbaabbccddbb
2 ionon
2 aaccaaddbb
6 aalfalf
14 eewweugweougewoih
12 amicroscopicsilicovolcanoconiosispneumonoultr