2019 8 30做的三道題

2022-05-19 19:38:17 字數 1730 閱讀 5164

沒啥好說的,看著就噁心,還好有大佬的題解指導要不然我就廢廢廢了

#include#include#include#include#include#includeconst int maxn=10;

using namespace std;

int read()

while(isdigit(ch))

x=(x<<3)+(x<<1)+(ch^48),ch=getchar();

return w?-x:x;

}int n,map[maxn][maxn],ans[maxn][5],last[maxn][maxn][maxn],xiao[maxn][maxn];

bool remove()

if(j-1>=1&&j+1<=7&&map[i][j]==map[i][j+1]&&map[i][j]==map[i][j-1]&&map[i][j])

}if(!flag)

return 0;

for(int i=1;i<=5;i++)

for(int j=1;j<=7;j++)

if(xiao[i][j])

return 1;

}bool check()

void copy(int x)

void update()}}

}void move(int i,int j,int x)

void dfs(int x)

exit(0);

}if(x==n+1)

return;

copy(x);

for(int i=1;i<=5;i++)

for(int j=1;j<=7;j++)

if(i-1>=1&&map[i-1][j]==0)}}

}int main()

}memset(ans,-1,sizeof(ans));

dfs(1);

puts("-1");

return 0;

}

經典的一道dfs回溯題目,比較簡單

#include #include #include using namespace std;

const int maxn=20;

int n;

char ans[maxn][maxn];

bool h[maxn],dj[maxn],fdj[maxn];

void init()

重新整理了我的三觀,可能是因為我太菜了??

多虧了yxc大佬

#include #include #include using namespace std;

const int maxn=50;

int n;

int h[maxn];

int up[maxn],down[maxn];

bool dfs(int u,int su,int sd,int depth)

} if(flag)

return false;

}int main()

{ while(cin>>n&&n)//迴圈輸入

{ for(int i=0;i>h[i];

int depth=0;

while(!dfs(0,0,0,depth))//迭代加深

depth++;

cout《這三道題都是比較經典的搜尋題,我現在目前在死磕搜尋、,一定要弄懂,弄會,弄明白,這樣才能從量變走向質變(我才不要變質)

三道NOIP 巧題

圖轉侵刪 題解 隔k 1個位置設乙個關鍵位 則每個區間都恰好包含乙個關鍵位 預處理每個位置到左右關鍵位的前字尾積即可 題解 two pointers hsz秒想出了另一種做法 所求答案為點對最小切比雪夫距離 旋轉座標系轉換為曼哈頓距離 然後資料結構隨便做 居然還有這種操作 題解令最終字符集s 先把s...

三道智力題

題目1 此題的關係真的很複雜,理得越久越容易被繞暈,希望大家有自己的思維!在一塊墓碑上刻著很不一樣的碑文,曾讓無數人前來推測和祭奠。到底它有什麼特別之處呢?它的碑文如下,相信你看了也會疑惑 如果包括同母異父或同父異母的關係,那麼埋葬在墓地裡的最少有幾個人?題目2 此題需要你的分析外加常識性知識哦!下...

C三道題(六)

1 1 分析程式,寫出輸出結果?char ptr if ptr char malloc 0 null malloc有預設申請最小值,結果不為空,判斷結果為假。puts got a null pointer else puts got a valid pointer 輸出。2 分析程式,寫出輸出結果?...