# A=B 是一款只有一條指令的編碼遊戲

A=B Steam 遊戲連結

2022.4.10 更新 第六章
2022.4.8 更新 第五章
2022.4.4 更新 第四章
2022.4.2 更新 第三章
2022.4.1 更新 第一、二章

# 第一章 A=B

指令說明

string1 = string2string1 替換成 string2

# 1-1 A to B

給一個包含 abc 的字串,將字串中的 a 改成 b

a = b

# 1-2 Uppercase

給一個包含 abc 的字串,將字串中的字母改成大寫

a = A
b = B
c = C

# 1-3 SingLeton

給一個包含 abc 的字串,將所有連續字母改成單個字母

aa = a
bb = b
cc = c

# 1-4 SingLeton 2

給一個包含 abc 的字串,將所有連續的 a 刪除

aaa = aa
aa = 

# 1-5 Sort

給一個包含 abc 的字串,以字母表順序進行排序

ba = ab
ca = ac
cb = bc

# 1-6 Compare

給一個包含 ab 的字串,輸出最多的字母

ab = 
ba = 
aa = a
bb = b

# 第二章 Keyword

指令說明

string1 = (return)string2 若存在 string1 ,則輸出 string2

# 2-1 Hello World

給一個包含 abc 的字串,輸出 helloworld

= (return)helloworld

# 2-2 AAA

給一個包含 abc 的字串,如果包含至少 3 個 a 輸出 true ,否則輸出 false

b = 
c = 
aaa = (return)true
= (return)false

# 2-3 Exactly Three

給一個包含 abc 的字串,如果字串長度為 3 輸出 true ,否則輸出 false

b = a
c = a
aaaa = (return)false
aaa = (return)true
= (return)false

# 2-4 Remainder

給一個包含 abc 的字串,輸出字串長度除以 3 的餘數

b = a
c = a
aaaa = a
aaa = 0
aa = 2
a = 1

# 2-5 Odd

給一個包含 abc 的字串,如果每個字母的數量為 0 或奇數輸出 true ,否則輸出 false

ba = ab
cb = bc
ca = ac
aaa = a
bbb = b
ccc = c
aa = (return)false
bb = (return)false
cc = (return)false
 = (return)true

# 2-6 The Only

給一個包含 abc 的字串,如果只有一個字母是單獨存在的輸出 true ,否則輸出 false

aaa = aa
bbb = bb
ccc = cc
aa = '
bb = '
cc = '
a = 0
b = 0
c = 0
' = 
00 = (return)false
0 = (return)true
= (return)false

# 2-7 Ascend

給一個包含 abc 的字串,如果數量 c > b > a 輸出 true ,否則輸出 false

解題思路
前三行先排序
接著將 abc 為一組消去,直到無法消除為止
這時候應該要只剩下 bc ,而 bc 又會轉成 - ,所以剩下 -c 就是 true ,其餘情況皆為 false

ca = ac
ba = ab
cb = bc
bc = -
b- = -b
a- = 
-c = (return)true
= (return)false

# 2-8 Most

給一個包含 abc 的字串,輸出最多的字母

cb = bc
ca = ac
ba = ab
ab = -
-b = b-
-c = 
bc =  
ac =  
a = (return)a
b = (return)b
c = (return)c

# 2-9 Least

給一個包含 abc 的字串,輸出最少的字母

cb = bc
ca = ac
ba = ab
ab = -
-b = b-
-c =
- = (return)c
ac = (return)b
bc = (return)a

# 第三章 Start and End

指令說明

  1. (start)string1 = string2(end)string1 = string2string1 在字串的開頭、結尾,將 string1 替換成 string2
  2. string1 = (start)string2string1 = (end)string2 找到最左方的 string1 ,將之刪除,並在字串的開頭、結尾加入 string2

# 3-1 Remove

給一個包含 abc 的字串,將所有在字串開頭與結尾的 a 刪除

(start)a=
(end)a=

# 3-2 Spin

給一個包含 abc 的字串,將所有在 a 前方的字母移到字串最後

(start)b = (end)b
(start)c = (end)c

# 3-3 A to B 2

給一個包含 abc 的字串,將所有在開頭與結尾的 a 替換成 b

(start)a = (end)-
- = (start)b
(end)a = (start)+
+ = (end)b

# 3-4 Swap

給一個包含 abc 的字串,將所有在開頭的 a 與所有在結尾的 b 交換

(start)a = +
+a = a+
(end)b = (start)b
+ = (end)a

# 3-5 Match

給一個包含 abc 的字串,若字串開頭與結尾相同輸出 true ,否則輸出 false

a+ = (return)true
b- = (return)true
c. = (return)true
(start)a = (end)+
(start)b = (end)-
(start)c = (end).
= (return)false

# 3-6 Most 2

給一個包含 abc 的字串,保留並輸出最多的字母,刪除其餘字母

ba = ab
ca = ac
cb = bc
bc = (start)x
xa = (start)y
ac = (start)y
ab = (start)y
x = y
yc = cc
ya = aa
yb = bb

# 3-7 Palindrome

給一個包含 abc 的字串,若字串是回文輸出 true ,否則輸出 false

a+A- = 
b+B- = 
c+C- =
(start)a = (end)+A-
(start)b = (end)+B-
(start)c = (end)+C-
-+ = (return)false
= (return)true

# 第四章 Once Upon A Time

指令說明

(once)string1 = string2 執行過一次就不再執行

# 4-1 Hello 2

給一個包含 abc 的字串,將 hello 加到字串的開頭

(once)=(start)hello

# 4-2 Remove 2

給一個包含 abc 的字串,將最先出現的三個 a 移除

(once)a = 
(once)a =
(once)a =

# 4-3 Cut

給一個包含 abc 的字串,移除前三個字母

(once) = ---
-a = 
-b = 
-c = 

# 4-4 Remove 3

給一個包含 abc 的字串,將最後出現的三個 a 移除

(once) = (end)---
a- = 
b- = -b
c- = -c
- = 

# 4-5 Reverse

給一個包含 abc 的字串,將字串頭尾兩個字母交換

(once) = (start)-
-a = (end)+a
-b = (end)+b
-c = (end)+c
a+ = (start)a
b+ = (start)b
c+ = (start)c

# 4-6 Reverse 2

給一個包含 abc 的字串,倒轉字串

(once) = (start).......
.a = (start)a
.b = (start)b
.c = (start)c
. = 

# 4-7 Cut 2

給一個包含 abc 的字串,移除第三個字母

(once) = (start)-..
.a = (start)a
.b = (start)b
.c = (start)c
-a = (start)..
-b = (start).. 
-c = (start).. 

# 4-8 Clone

給一個包含 abc 的字串,複製前三個字母,將之加至字串最後

(once) = (start)...
+a = (start)a
+b = (start)b
+c = (start)c
.a = (end)+aa
.b = (end)+bb
.c = (end)+cc
(once) = (start)+++

# 4-9 A to B 3

給一個包含 abc 的字串,將 a 替換成 b 、將 b 替換成 a

(once) = .
.a = b.
.b = a.
.c = c.
. = 

# 4-10 Half

給一個包含 abc 的字串,移除奇數位的字母

(once) = .
..a = a.
..b = b.
..c = c.
.a = .. 
.b = .. 
.c = .. 
. =

# 4-11 Clone 2

給一個包含 abc 的字串,複製字串

(once) = .
A = (end)+a
B = (end)+b
C = (end)+c
.a = aA.
.b = bB.
.c = cC.
. =
+ =  

# 4-12 To B or not to B

給一個包含 abc 的字串,若 b 存在,將 a 替換成 b ,否則將 a 替換成 c

(once)b = b- 
(once)- = (start)-
-a = b-
-b = b-
-c = c-
- = 
a = c 

# 4-13 Center

給一個包含 abc 的字串,輸出最中間的字母

(once) = -
(end)-a = a
(end)-b = b
(end)-c = c
-a = (end)-
-b = (end)-
-c = (end)-
a- = (start)-
b- = (start)-
c- = (start)-

# 4-14 Center 2

給一個包含 abc 的字串,刪除最中間的字母

(once) = -
(once) = (end).
-a. = 
-b. = 
-c. =
a.+ = .a
b.+ = .b
c.+ = .c
a+ = +a
b+ = +b
c+ = +c
t = (end)+
-a = ta-
-b = tb-
-c = tc-

# 4-15 Expansion

給一個包含 abc 的字串,將第 i 位字母增值 i

(once) = -
-a = a-x
-b = b-x
-c = c-x
+a- = aa-x
+b- = bb-x
+c- = cc-x
+a = a+
+b = b+
+c = c+
-x = +-
+ =
- =

# 4-16 Merge

給兩個包含 ab 的字串 (以 , 連接),將兩字串合併

(once) = |
|, = 
- = (end)y
ay = (start)a
by = (start)b
ax = (start)a
bx = (start)b
, = x,-

# 第五章 Math

# 5-1 Count

給一個二進位數,求此數量的 a

(once) = (end)+
(start)0 = 
(start)+ = 
0- = -1
1- = 0
+ = -+a

# 5-2 A+1

給一個二進位數,求此數 + 1

(once) = (end)+
(start)+ = 1
0+ = 1
1+ = +0

# 5-3 A+B

給兩個二進位數,求兩數相加

+1 = -x+
+0 = -+
x- = -xx
- = 
1x = x0
0x = 1
x = 1
+ =

# 5-4 A-B

給兩個二進位數,求兩數相減

-1 = Tx-
-0 = T-
xT = Txx
T = 
1x = 0
0x = x1
- =
(start)0 = 

# 5-5 A*B

給兩個二進位數,求兩數相乘

參考 : A=B 全關卡解析 - 攻略

(once) = (start)P
< = (start)Q
Q1 = 1Q
Qx = &xQ
Q0 = 0Q
x& = &x
1& = &0
0& = 1
& = 1
(end)*1 = 
> = (end)^
1^ = 0
0^ = ^1
*0 = *
P1 = 1xP
P0 = 0P
P* = <*>
Q* = <*>
x =
Q = 
P = 

# 5-6 A/B

給兩個二進位數,求兩數相除

參考 : A=B 全關卡解析 - 攻略

(once) = /*
/0 = /
0- = -1
1- = 0
< = (start)+
> = (end)+
* = (end)^
+//+^ = ,0
//+ = //
/+ = -/>
/^ = /<*
^ = -^+
(once) = 0
0+ = 1
1+ = +0
+ = 1

# 第六章 Aftermath

指令說明
不能使用任何關鍵字

# 6-1 Hello Again

給一個包含 abc 的字串,輸出 helloworld

b = a 
c = a
aa = a
a = helloworld

# 6-2 Palindrome 2

給一個包含 abc 的字串,若字串是回文輸出 true ,否則輸出 false

參考 : A=B 全關卡解析 - 攻略

aa = ononnoa
ab = ononnob
ac = ononnoc
oa = oononno
b = oonnoonnno
c = ooonnnooonnnno
noono = onnoo
nooonno = oonnnoo
noooonnno = ooonnnnoo
ononno = true
oonnoonnno = true
ooonnnooonnnno = true
trueo = o
on = 
no = false

# 6-3 To B or not to B 2

給一個包含 abc 的字串,若 b 存在,將 a 替換成 b ,否則將 a 替換成 c

參考 : A=B 全關卡解析 - 攻略

%*cccccccc = b
cccccccc*@ = b
a = cccccccc*cccccccc
%c = c%
bcccccccc = b%
ccccccccb = @b
c@ = @c
* = c
cccccccc =