沒啥好說的,看著就噁心,還好有大佬的題解指導要不然我就廢廢廢了
#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 分析程式,寫出輸出結果?...