結果
問題 | No.792 真理関数をつくろう |
ユーザー |
![]() |
提出日時 | 2019-02-24 17:24:35 |
言語 | Go (1.23.4) |
結果 |
TLE
(最新)
AC
(最初)
|
実行時間 | - |
コード長 | 695 bytes |
コンパイル時間 | 10,268 ms |
コンパイル使用メモリ | 232,480 KB |
実行使用メモリ | 10,348 KB |
最終ジャッジ日時 | 2024-12-23 07:17:13 |
合計ジャッジ時間 | 15,068 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 21 TLE * 1 |
ソースコード
package main import ( "fmt" "strconv" ) func main() { var n int fmt.Scan(&n) flg := false ans := "" for range make([]struct{}, pow(2, n)) { q := make([]int8, n) for j := range q { fmt.Scan(&q[j]) } var r int8 fmt.Scan(&r) if r == 1 { if ans != "" { ans += "∨" } ans += "(" for j, v := range q { if j != 0 { ans += "∧" } if v == 0 { ans += "¬" } ans += "P_" + strconv.Itoa(j+1) } ans += ")" } else { flg = true } } if ans == "" { ans = "⊥" } else if !flg { ans = "⊤" } fmt.Printf("A=%s\n", ans) } func pow(a, b int) int { res := 1 for range make([]struct{}, b) { res *= a } return res }