12345678910111213141516171819202122 |
- package main
- import (
- "fmt"
- )
- func main() {
- var C int
- fmt.Scan(&C)
- for cid := 0; cid < C; cid++ {
- var N, M, A int
- fmt.Scan(&N, &M, &A)
- if A > N*M { // Math is the key. We can prove that every A in [1, N*M] is possible.
- fmt.Printf("Case #%d: IMPOSSIBLE\n", cid+1)
- } else if k := A / M; k == N {
- fmt.Printf("Case #%d: 0 0 %d 0 0 %d\n", cid+1, N, M)
- } else {
- // a = (k+1, M), b = (k, 0), c = (0, c')
- fmt.Printf("Case #%d: %d %d %d %d %d %d\n", cid+1, k+1, M, k, 0, 0, A-k*M)
- }
- }
- }
|