原创 13年藍橋杯 翻硬幣

貪心法 先將字符串轉換爲布爾數組01然後從第一個開始比較,如果不同就翻相鄰的兩個硬幣並計數+1 直到結束,一定是最少翻的 #include<iostr

原创 17藍橋杯 迷宮

直接dfs,走到邊界就+1把字母轉換爲數字 輸入方便#include<iostream> #include<cstdio> #include<cstring> using namespace std; int ans[20][20]; i

原创 17藍橋杯 方格分割

這題搜邊更好做,從4,4點開始搜,每走一步中心對稱的那個也標記走過,直到走到邊界,最後結果除以4#include<iostream> #include

原创 17藍橋杯 日期問題

我的做法是,先把三種表示法都寫出來,再判斷合不合法,用然後放入set集合裏面去重排序,另外閏年的29號合法,需要另外判斷 ,合法就輸出,注意如果兩種表

原创 17藍橋杯 分巧克力

//二分答案 #include<iostream> #include<cstdio> #include<algorithm> using namespace std; int n,k,l,r,ans; struct cho{ int

原创 13藍橋杯 連號區間

#include<iostream> #include<cstdio> #include<algorithm> using namespace std; int ans[100010]; int n,Count=0; int main()

原创 13藍橋杯 帶分數

#include<iostream> #include<cstdio> #include<algorithm> using namespace std; int ans[9]={1,2,3,4,5,6,7,8,9};//把所有排列弄出來

原创 洛谷 P1029 最大公約數和最小公倍數問題

假設p=x0*k1,q=x0*k2;k1與k2一定互質,如果不互質就存在更大的最大公約數 又因爲兩個數的乘積等於他們的最大公約數和最小公倍數的乘積 所

原创 14藍橋杯 螞蟻感冒

貪心法先將所有螞蟻位置按絕對值排序,並記錄第一隻螞蟻所在的位置(數組中的位置) 兩隻螞蟻碰面後方向調換,其實和不調換一樣,題目只是計數,並沒有要求記錄

原创 洛谷 P1308 統計單詞數

#include<iostream> #include<cstdio> #include<cstring> using namespace std; char str1[11]; char str2[1000010]; int Coun

原创 洛谷 P1010 冪次方

//使用分治的思想,先將n化爲二進制倒序(直接放裏面存相當於倒着存)存放入字符數組 //然後利用遞歸 將每一位是1的下標放入dfs()再進行一次轉換 //當循環到位數位二進制倒數第二位且有效時直接輸出2 //當循環到位數位二進制倒數第一位

原创 16藍橋杯剪郵票

先用全排列選出5張郵票,然後再判斷是不是連通圖就好了。 dfs和bfs都可以做 #include<iostream> #include<cstdio>

原创 17藍橋杯 包子湊數

擴展歐幾里德算法,如果給定n種蒸籠的最大公約數不等於1,那麼就有無限多個否則算出不能湊出的數量。dp布爾數組,dp[i]表示i能不能被湊出,能賦值1,

原创 洛谷P1057 傳球遊戲

#include<iostream> #include<cstdio> #include<cstring> using namespace std; int n; //記憶化搜索 int ans[33][33]; int f(int

原创 14藍橋杯 地宮取寶

使用一個四維數組來進行記憶化dfsx,y表示座標,z表示當前已拿物品,Max表示當前拿到的最大價值物品那麼ok[x][y][z][Max]表示 在點(