題目鏈接:點擊打開鏈接
題意:就是一個按位運算的一個函數,問最少經過多少步運算可以得到給定數;
思路:不是我投機取巧想打表,是特麼這題只能打表。。。打表思想用可以得到的數的集合表示狀態bfs;最後有一個需要11步的需要打將近1h,除去這一個十分鐘就夠了。
cpp:
#include #include #include #include #include using namespace std; int mark[300]; struct node{ int deep; vector us; void init(){ deep=0; us.push_back(15); us.push_back(51); us.push_back(85); us.push_back(0); us.push_back(255); } bool find(int n){ for(int i=0;i Q; map,bool> Map; //打出全部表版本的check bool check(){ int bj=1; for(int i=0;i<256;i++){ if(mark[i]<0) { bj=0; } } if(bj) for(int i=0;i<256;i++){ printf("%d , ",mark[i]); } return bj; } //留下最後一個數不打的check版本 bool check(){ int cnt=0; for(int i=0;i<256;i++){ if(mark[i]<0) { cnt++; } } if(cnt<2) for(int i=0;i<256;i++){ printf("%d , ",mark[i]); } return (cnt<2); } void bfs(){ node tpe; tpe.init(); Q.push(tpe); for(int i=0;i<5;i++) { mark[tpe.us[i]]=0; } while (!check()){ node tp=Q.front(); Q.pop(); for(int i=0;i
請注重,這一節內容是c++的重點,要非凡注重!
某日, 寫了一個簡單的內聯匯編腳本, 死活編譯不過去,
/* * 程序的版權和版本聲明部分&nbs
leetcode single number 一、原題
虛析構函數、虛函數結合考題變種 1.[E
根據入棧順序判斷出棧順序的合法性,順序判斷合法性這道題不管是