演算法競賽入門 謎題

2021-09-18 08:03:18 字數 2767 閱讀 5301

有乙個5*5的網格,其中恰好有乙個格仔是空的,其他格仔各有乙個字母。一共有4種指令:a, b, l, r,分別表示把空格上、下、左、右的相鄰字母移到空格中。輸入初始網格和指令序列(以數字0結束),輸出指令執行完畢後的網格。如果有非法指令,應輸出「this puzzle has no final configuration.」

不是個專門ac的人,只是無聊刷刷題,也沒有特地去**編譯通過,只是看了下結果差不多。就算自己閒的無聊瞎寫的吧

c++

#includeusing namespace std;

int main() else }}

for (int i = 0; i != 5; i++)

cout << endl;

}cout << "運動後" << endl;

}cout << "請輸出移動規則" << endl;

string direction;

cin >> direction;

int len = int(direction.length());

for (int i = 0; i != len; i++) else

for (int i = 0; i != 5; i++)

cout << endl;

}cout << "運動後" << endl;

break;

case 'b':

case 'b':

if (xpos + 1 > 4) else

for (int i = 0; i != 5; i++)

cout << endl;

}cout << "運動後" << endl;

break;

case 'l':

case 'l':

if (ypos - 1 <0) else

for (int i = 0; i != 5; i++)

cout << endl;

}cout << "運動後" << endl;

break;

case 'r':

case 'r':

if (ypos + 1 > 4) else

for (int i = 0; i != 5; i++)

cout << endl;

}cout << "運動後" << endl;

break;

default:

cout << "結束" << endl;

for (int i = 0; i != 5; i++)

cout << endl;

}cout << "運動後" << endl;

break;}}

return 0;

}

js

letdetectlength

= str =>

else

}let

strtoarr

= str =>",

"g")

; newarr = str.

match

(reg)

;var newarr = newarr.

map(element =>);

show

(newarr)

;return newarr;

}let

show

= arr =>

console.

log(str)

; str ="";

} console.

log(

"轉換");

}let

findbegin

= arr =>}}

return

[xpos, ypos];}

letrun

=(dir, xpos, ypos)

=>

else

break

;case

'b':

case

'b':

if(xpos +

1>4)

else

break

;case

'l':

case

'l':

if(ypos -

1<0)

else

break

;case

'r':

case

'r':

if(ypos +

1>4)

else

break

;default

: console.

log(

"end");

return0;

}return

[xpos, ypos];}

letreverse

=(arr, oldxpos, oldypos, xpos, ypos)

=>

letmain

=(str, dir)

=>

else

catch

(e)}}}

}main

('abcdefg0hijklmnopqrstuvwx'

,'ablraaaa');

<

/script>

演算法競賽入門 洪水

題目意思大概就是,有n m個底面積為10 10的格仔,每個格仔內有各種不同高度的柱子,再有乙個降雨量,來填這些格仔,輸出水面高度,和被淹沒於沒被淹沒的比例。include include include include using namespace std intmain 輸入n m個數,可以看成...

演算法競賽入門 鐵軌

某城市有乙個火車站,鐵軌鋪設如圖所示。有n節車廂從a方向駛入車站,按進站順序編號為1 n。你的任務是讓它們按照某種特定的順序進入b方向的鐵軌並駛出車站。為了重組車廂,你可以借助中轉站c。這是乙個可以停放任意多節車廂的車站,但由於末端封頂,駛入c的車廂必須按照相反的順序駛出c。對於每個車廂,一旦從a移...

演算法競賽入門經典 C 入門

include 提供輸入輸出流 include 提供常用演算法 using namespace std const int maxn 100 10 int a maxn int main return0 宣告陣列時,陣列大小可以用const宣告的常數。在c 中,這樣的寫法更加推薦。include i...