acwing寒假每日一題題解

2021-10-14 08:04:46 字數 2626 閱讀 8847

貨倉選址

頭兩天的每日一題有點水

#include

using

namespace std;

int s[

505]

[505];

int i,j;

intmain

(void

)

語法題蛇形添數

輸入兩個整數n和m,輸出乙個n行m列的矩陣,將數字 1 到 n*m 按照回字蛇形填充至矩陣中。

具體矩陣形式可參考樣例。

輸入格式

輸入共一行,包含兩個整數n和m。

輸出格式

輸出滿足要求的矩陣。

矩陣佔n行,每行包含m個空格隔開的整數。

資料範圍

1≤n,m≤100

輸入樣例:

3 3輸出樣例:

1 2 3

8 9 4

7 6 5

#include

using

namespace std;

int n,m;

int s[

105]

[105];

bool sen[

105]

[105];

intmain()

j--;

i++;while

(i<=n&&i>=

1&&j<=m&&j>=1&&

!sen[i]

[j]&&num>0)

i--;

j--;while

(j>=

1&&j<=m&&

!sen[i]

[j]&&num>0)

j++;

i--;while

(i>=1&&

!sen[i]

[j]&&num>0)

i++; j++;}

for(

int i=

1;i<=n;i++

)cout<

}}

水題bfs紅與黑

有一間長方形的房子,地上鋪了紅色、黑色兩種顏色的正方形瓷磚。

你站在其中一塊黑色的瓷磚上,只能向相鄰(上下左右四個方向)的黑色瓷磚移動。

請寫乙個程式,計算你總共能夠到達多少塊黑色的瓷磚。

輸入格式

輸入包括多個資料集合。

每個資料集合的第一行是兩個整數 w

和 h,分別表示 x 方向和 y

方向瓷磚的數量。

在接下來的 h

行中,每行包括 w

個字元。每個字元表示一塊瓷磚的顏色,規則如下

1)『.』:黑色的瓷磚;

2)『#』:白色的瓷磚;

3)『@』:黑色的瓷磚,並且你站在這塊瓷磚上。該字元在每個資料集合中唯一出現一次。

當在一行中讀入的是兩個零時,表示輸入結束。

輸出格式

對每個資料集合,分別輸出一行,顯示你從初始位置出發能到達的瓷磚數(記數時包括初始位置的瓷磚)。

資料範圍

1≤w,h≤20

輸入樣例:

6 9…#.…#…

…………

#@…#

.#…#.

0 0輸出樣例:

#include

using

namespace std;

char s[

1005][

1005];

bool sen[

1005][

1005];

int m,n;

struct p

;int

bfs(

int a,

int b)

,dy[4]

=;queue

q; sen[a]

[b]=

true

; q.

push()

;while

(q.size()

));}

}}return ans;

}int

main()

}}cout<<

bfs(x,y)

<

}return0;

}

acwing 寒假每日一題題解

本篇部落格是基於acwing活動中的寒假每日一題 活動位址 在一條數軸上有 n 家商店,它們的座標分別為 a1 an。現在需要在數軸上建立一家貨倉,每天清晨,從貨倉到每家商店都要運送一車商品。為了提高效率,求把貨倉建在何處,可以使得貨倉到每家商店的距離之和最小。輸入格式 第一行輸入整數n。第二行n個...

寒假每日一題題解 1 24 階乘

n 的階乘 記作 n 是指從 1 到 n 包括 1 和 n 的所有整數的乘積。階乘運算的結果往往都非常的大。現在,給定數字 n,請你求出 n 的最右邊的非零數字是多少。例如 5 1 2 3 4 5 1205 1 2 3 4 5 120,所以 5 的最右邊的非零數字是 2。輸入格式 共一行,包含乙個整...

AcWing寒假每日一題 Day9獎學金

某小學最近得到了一筆贊助,打算拿出其中一部分為學習成績優秀的前5名學生發獎學金。期末,每個學生都有3門課的成績 語文 數學 英語。先按總分從高到低排序,如果兩個同學總分相同,再按語文成績從高到低排序,如果兩個同學總分和語文成績都相同,那麼規定學號小的同學排在前面,這樣,每個學生的排序是唯一確定的。任...