只需要知道第一个棋子与第二个棋子的相对位置差就好了,然后根据这个位置差来第二个以后所有的棋子,而不是用暴力列举法。 #include <iostream> using namespace std; int main(){ char chess[3][3]; bool k=false,b=false; int prok[2]={-1,-1},prob[2]={-1,-1},rk=0,ck=0,rb=0,cb=0; for(int i=0;i<3;i++){ cin>>chess[i][0]>>chess[i...