這道題重點是關係的轉換和初始化
#include#include#include#includeusing namespace std;
代表了ki(k1=3,k2=3,……)ki(k1=3,k2=3,……) ,從一樓開始。在一樓,按「上」可以到44 樓,按「下」是不起作用的,因為沒有−2−2 樓。那麼,從aa 樓到bb 樓至少要按幾次按鈕呢?int a[101];//記錄接著的的那個節點
int n,m;
int main(),,,};
int ans;
void bfs(int x,int y)
} } }
int main()
} cout<
#include#include#include#include#include#includeusing namespace std;
//這道題得思路很難想,從邊緣開始搜尋,標記沒有被1包圍的0使他們和 1 成為同樣的節點,最後列舉剩餘的0即可
int map[20][20];
int queue[101][2];
int dis[4][2]=,,,};
void bfs(int x,int y)
}}int main()//這裡0還是0,1變為了-1
for(int i=1;i<=10;i++)
for(int i=1;i<=10;i++)
for(int j=1;j<=10;j++) if(map[i][j]==0) ans++;//這個時候還有的0就是被包圍的,因為從邊緣搜尋得到的0全部都被標記為了-1
cout<
大樓的每一層樓都可以停電梯,而且第i層樓(1≤i≤n)(1≤i≤n) 上有乙個數字ki(0≤=ki≤=n)ki(0≤=ki≤=n) 。電梯只有四個按鈕:開,關,上,下。上下的層數等於當前樓層上的那個數字。當然,如果不能滿足要求,相應的按鈕就會失靈。例如:3 3 1 2 5
#include#include#include#include#include#includeusing namespace std;
int pre[10001],aa[10001],vis[10001];
int sum[10001];
//pre表示當前的樓層(佇列),a表示能上公升和下降的數量
//vis表示是否經過(保證最小距離)sum表示所用的次數!!!!(useful)
int n,a,b;
int main()
} }while(head
沒有想到在一本通也有。。。。在洛谷上面做的資料更大一些,必須得換乙個方法不然會爆掉
一本通:
給出乙個整數n(n≤2000)和k個變換規則(k≤15)。
#include#include#include#include#include#include#includeusing namespace std;
int n,k;
int be[16],af[16];
int vis[10001];
queuequ;
int main()}}
mod*=10;
} }cout《洛谷上面:
資料是會超過long long的,所以必須用高精度
#include#include#include#include#include#include#include#include#includeusing namespace std;
//產生數
/*很容易看出這是一道搜尋題
考慮搜尋方案,如果按字串轉移,必須儲存每種狀態,空間複雜度明顯會**
觀察到每一位之間是互不影響的,考慮使用乘法原理
搜尋出每一位的情況總數,求它們的連乘積即為答案!!!!!!注意資料很大
時間複雜度o(n2^k)o(n2k)
可以看出答案最大可以達到三十的十次方,會爆掉longlong longlong,所以需要寫高精
具體處理可以選擇stl(懶得自己寫)
對於對映,這是map的專長
如果乙個數能夠對映到多個數呢?
用map的時候從charchar對映到vectorvector即可
*/map> st;
int c[10],num[111],k;
string a;
//用來判斷數字出現個數的,和記錄結果的
void dfs(char z)
//我根本就沒有考慮到乙個數字可以有多種變換
num[0]=1;
int l=a.length();
//接下來計算每一位的變換次數進行連乘
for(int i=0;i0) i--;
for(;i>=0;i--) cout《家庭問題(並查集的題目)
#include#include#include#include#include#include#includeusing namespace std;
//這個是並查集
//操作:合+並
int father[101];
bool isroot[101];
int sum[101];
int n,k;
int findfather(int x)
while(a!=father[a])
return x;
}void un(int a,int b)
void inti(int n)
}int main()
for(int i=1;i<=n;i++)
int ans=0,maxn=-1;
for(int i=1;i<=n;i++)
cout
}
情感修煉一本通
實踐準則 經驗親密關係構成要素 了解 關心 相互依賴性 相互一致性 信任以及承諾 親密的伴侶彼此間有著廣泛而私密的了解。他們熟知彼此的經歷 愛好 情感和心願,而且一般不會把這些資訊透露給其他人。親密的伴侶關心對方,彼此能從對方身上感受到更多的關愛。如果人們認為自己的伴侶了解 理解並欣賞自己,其親密程...
一本通 確定進製
注意一些細節問題就可以了。1 餘數必定小於進製數 2 注意判斷數字範圍 1 p,q,r 1000000 開始以為p q會很大,但是實際 p q 1000000 因為p q r 10000000 所以,本身沒有必要使用高精度,但是如果本題目使用高精度來計算。則需要運用大整數的相關技巧來解決這個問題了。...
分治 一本通1244
分治就是把一組大資料分成小資料管理,如1000可以分成1 500,501 1000分開操作。給出若干個整數,詢問其中是否有一對數的和等於給定的數。第一行是整數n 0 n 100,000 表示有n個整數。第二行是n個整數。整數的範圍是在0 0 0到10 8 108 108之間。第三行是乙個整數m 0 ...