每個測資檔包含多筆測資。每筆測資包含三行,第一行是一個正整數 N (1<=N<=10000),代表圓盤的個數。第二行及第三行分別代表圓盤的初始與目標狀態。每行有 N 個正整數,第 i 個數 Si 代表第 i 小的圓盤是套在 Si 上,其中 Si 只可能是 1 或 2 或 3。當 N=0 時代表輸入結束。
intmain() { while (scanf(" %d", &n) == 1) { while (n--) { scanf(" %d %lld %lld", &a, &b, &c); printf("%lld\n", a == 1 ? b + c : a == 2 ? b - c : a == 3 ? b * c : b / c); } } return0; }
voiddfs(int open, int close, int now) { if (open > n || open < close) return; if (now == max) { puts(paren); return; } paren[now] = '(', dfs(open + 1, close, now + 1); paren[now] = ')', dfs(open, close + 1, now + 1); }
intmain() { while (scanf(" %d", &n) == 1) { max = n << 1; dfs(0, 0, 0); putchar('\n'); } return0; }