1433 數碼問題

2021-07-24 21:54:49 字數 888 閱讀 6714

題目:

這套比賽因為當時做的太差,所以這道剛剛一眼看出的題目也寫一下吧。

完全不知道為什麼當時我這題會爆0?

k<=1000,很明顯的暴力也能過啊。

對於第i個數,如果知道了它的座標,答案顯然。

那麼對於第i個數,我們就拿它去更新其它的與它同一行的,更新完同一行之後再更新同一列,就可以啦~

**:

var

x,r,c,xx,yy,t:array[1..1000] of longint;

n,k,i,j,ans1,ans2:longint;

begin

readln(n,k);

for i:=1 to k do

begin

readln(x[i],r[i],c[i]);

xx[i]:=(x[i]-1) div n+1;

yy[i]:=(x[i]-1) mod n+1;

end;

for i:=1 to k do

begin

if yy[i]>c[i] then ans1:=c[i]+n-yy[i] else ans1:=c[i]-yy[i];

if xx[i]>r[i] then ans2:=r[i]+n-xx[i] else ans2:=r[i]-xx[i];

writeln(ans1+ans2);

for j:=i+1 to k do

if xx[j]=xx[i] then yy[j]:=(yy[j]+ans1-1) mod n+1;

for j:=i+1 to k do

if yy[j]=c[i] then xx[j]:=(xx[j]+ans2-1) mod n+1;

end;

end.

難度:**

Spoj 1433 數字問題

題目大意 將 1 n 1 n 15 10 寫在紙上,然後在相鄰的數字間交替插入 和 求最後的 結果。例如當 n 為 12 時,答案為 1 2 3 4 5 6 7 8 9 1 0 1 1 1 2 5 解法分析 這是一道稍微複雜一點的數字計數問題。根據上述原則,我們首先探查數字確定,所有數字自由的情況。...

sql埠1433錯誤的問題

正在連線127.0.0.1.無法開啟到主機的連線。在埠 1433 連線失敗 解決方案 先防火牆新建規則 埠1433 結果沒用!cmd先輸入telnet localhost 1433 發現還是 正在連線localhost 無法開啟到主機的連線。在埠 1433 連線失敗 開啟配置管理器,找到 sql s...

8數碼問題

8數碼問題,即在乙個3 3的矩陣中有8個數 1至8 和乙個空格,從乙個狀態轉換到另乙個狀態,每次只能移動與空格相鄰的乙個數字到空格當中 aoj 417 8數碼 這題是求轉化的最少步數,可用bfs解決,共有9 362880種情況,關鍵是如何標記已經訪問過的狀態,保證每次搜尋得到的狀態都是最小的步數,這...