500pt:
分析:每b根就能再生成一根,本著不要浪費的原則就行
代碼:
#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; int a,b; int main() { while(cin>>a>>b) { int ret = a; int temp = a; while(temp>=b) { int newa = temp/b; ret+=newa; temp = temp%b+newa; } cout< 1000pt: 鏈接:http://codeforces.com/problemset/problem/379/B分析:對於每一位,只要大於0,就put a coin,然後右移再左移,為了省事,右移過程中如果右邊也大於0,也進行put a coin代碼: #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; const int N=310; int arr[N]; int n; int main() { while(cin>>n) { for(int i=1;i<=n;i++) cin>>arr[i]; string s = ; for(int i=1;i<=n-1;i++) { while(arr[i]>0) { s+='P'; arr[i]--; if(arr[i]==0) break; s+='R'; if(arr[i+1]>0) { arr[i+1]--; s+='P'; } s+='L'; } s+='R'; } while(arr[n]>0) { s+='P'; arr[n]--; if(arr[n]==0) break; s+='L'; s+='R'; } cout< 1500pt: 分析:先按ai排序,再給每個賦值,取前一個+1和自身的較大 值就行,最後按序輸出代碼: #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; const int N=500000; struct node { node(){index = 0;rating= 0;} node(int _index,int _rating){index = _index;rating = _rating;} int index; int rating; }nodes[N]; int n; bool cmp1(node a,node b) { return a.rating>n) { for(int i=0;i>nodes[i].rating; nodes[i].index = i; } sort(nodes,nodes+n,cmp1); for(int i=1;i 先做C題果然是比較明智的選擇,這次終於變紫色了。。。
鏈接:http://codeforces.com/problemset/problem/379/B
分析:對於每一位,只要大於0,就put a coin,然後右移再左移,為了省事,右移過程中如果右邊也大於0,也進行put a coin
#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; const int N=310; int arr[N]; int n; int main() { while(cin>>n) { for(int i=1;i<=n;i++) cin>>arr[i]; string s = ; for(int i=1;i<=n-1;i++) { while(arr[i]>0) { s+='P'; arr[i]--; if(arr[i]==0) break; s+='R'; if(arr[i+1]>0) { arr[i+1]--; s+='P'; } s+='L'; } s+='R'; } while(arr[n]>0) { s+='P'; arr[n]--; if(arr[n]==0) break; s+='L'; s+='R'; } cout< 1500pt: 分析:先按ai排序,再給每個賦值,取前一個+1和自身的較大 值就行,最後按序輸出代碼: #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; const int N=500000; struct node { node(){index = 0;rating= 0;} node(int _index,int _rating){index = _index;rating = _rating;} int index; int rating; }nodes[N]; int n; bool cmp1(node a,node b) { return a.rating>n) { for(int i=0;i>nodes[i].rating; nodes[i].index = i; } sort(nodes,nodes+n,cmp1); for(int i=1;i 先做C題果然是比較明智的選擇,這次終於變紫色了。。。
分析:先按ai排序,再給每個賦值,取前一個+1和自身的較大 值就行,最後按序輸出
#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; const int N=500000; struct node { node(){index = 0;rating= 0;} node(int _index,int _rating){index = _index;rating = _rating;} int index; int rating; }nodes[N]; int n; bool cmp1(node a,node b) { return a.rating>n) { for(int i=0;i>nodes[i].rating; nodes[i].index = i; } sort(nodes,nodes+n,cmp1); for(int i=1;i 先做C題果然是比較明智的選擇,這次終於變紫色了。。。
HDOJ 4788 Hard Disk Drive Py
SGI STL中內存池的實現,sgistl實現最近這兩天研究
OpenCV——PS濾鏡算法之Spherize 球面化(凸出
選擇排序 真言 實踐是檢驗真理的唯一
在學習這一章內容前我們已經學習過了類的構造
[cpp] /* * 程序的版