寒假每日一題之瘋狂補題!
小明正在玩乙個「翻硬幣」的遊戲。
桌上放著排成一排的若干硬幣。我們用 * 表示正面,用 o 表示反面(是小寫字母,不是零)。
比如,可能情形是:**oo***oooo
如果同時翻轉左邊的兩個硬幣,則變為:oooo***oooo
現在小明的問題是:如果已知了初始狀態和要達到的目標狀態,每次只能同時翻轉相鄰的兩個硬幣,那麼對特定的局面,最少要翻動多少次呢?
我們約定:把翻動相鄰的兩個硬幣叫做一步操作。
輸入格式
兩行等長的字串,分別表示初始狀態和要達到的目標狀態。
輸出格式
乙個整數,表示最小操作步數
資料範圍
輸入字串的長度均不超過100。
資料保證答案一定有解。
輸入樣例1:
**********
o****o****
輸出樣例1:
5
輸入樣例2:
*o**o***o***
*o***o**o***
輸出樣例2:
1
出自於第四屆藍橋杯b組的題目。會想到八數碼這個題,進行多少操作會變成目標狀態。用bfs會超時。先觀察一下性質。①操作順序對答案無影響。②每乙個操作最多進行一次。
第乙個硬幣和最後乙個硬幣是否需要操作只需要看他本身,所有都是唯一確定的,不需要列舉。看似是個寬搜,實際上是個遞推,最終方案也就只有一種。
#include#include#include#include#include#include#include#include#includeusing namespace std;
const int n =310;
string a,b;
void turn (int i)
int main()
;//打表
int weekday[7];
int main()}}
for(int i=5,j=0;j<7;i=(i+1)%7,j++)
cout《輸入整數n,輸出乙個n階的二維陣列。
陣列的形式參照樣例。
輸入格式
輸入包含多行,每行包含乙個整數n。
當輸入行為n=0時,表示輸入結束,且該行無需作任何處理。
輸出格式
對於每個輸入整數n,輸出乙個滿足要求的n階二維陣列。
每個陣列佔n行,每行包含n個用空格隔開的整數。
每個陣列輸出完畢後,輸出乙個空行。
資料範圍
0≤n≤100
輸入樣例:
12345
0
輸出樣例:
1
1 22 1
1 2 3
2 1 2
3 2 1
1 2 3 4
2 1 2 3
3 2 1 2
4 3 2 1
1 2 3 4 5
2 1 2 3 4
3 2 1 2 3
4 3 2 1 2
5 4 3 2 1
不同的看法,不同的解法。有的時候寫不出來,可以換乙個看法。
#include#include#include#include#include#include#includeusing namespace std;
const int n=110;
int main()
}for(int i=1;i<=n;i++)
} cout<#include#include#include#include#include#includeusing namespace std;
typedef long long ll;
const int n=30,m=10010;
int n,m;
ll f[m];
int main()
} cout階乘運算的結果往往都非常的大。
現在,給定數字 n,請你求出 n!的最右邊的非零數字是多少。
例如 5!=1×2×3×4×5=120,所以 5! 的最右邊的非零數字是 2。
輸入格式
共一行,包含乙個整數 n。
輸出格式
輸出乙個整數,表示 n! 的最右邊的非零數字。
資料範圍
1≤n≤1000
輸入樣例:
7
輸出樣例:
4
一看到這一道題我就想到了n^n的最高位,但這一題可以發現規律,末位數就是1和偶數(除了0),去0就是除以10^k,mod 0就是所求的數字,(分解質因數的思想)分解一下2,5的那個係數的最小值就是k#include#include#include#include#include#include#includeusing namespace std;
int main()
int k=min(d2,d5);
for(int i=0;i
還有25道題,幹!
acwing寒假每日一題題解
貨倉選址 頭兩天的每日一題有點水 include using namespace std int s 505 505 int i,j intmain void 語法題蛇形添數 輸入兩個整數n和m,輸出乙個n行m列的矩陣,將數字 1 到 n m 按照回字蛇形填充至矩陣中。具體矩陣形式可參考樣例。輸入格...
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。輸入格式 共一行,包含乙個整...