第二次參加CSP 前一次CSP仍是去年年初node
從通知到準備也就一個禮拜準備,大概看了一下往年的題型:ios
第一題:水題算法
第二題:通常都是考點邏輯各類if else嵌套 而後加點排序json
今年卡了個人是一個結構體排序app
很久沒作了果真有點生疏啊函數
附上一段代碼~~~spa
#include<iostream> #include<stdio.h> #include<stdlib.h> #include<math.h> #include<algorithm> using namespace std; struct node{ int s; int number; int e; }; bool cmp(node a,node b){ if(a.s<b.s) return true; else if(a.s==b.s&&a.e<b.e) return true; return false; } int main(){ int n; cin>>n; int a,b; node no[5]; for(int i=0;i<n;i++){ cin>>a>>b; no[i].s = a; no[i].e = b; no[i].number = i; } sort(no,no+n,cmp); for(int i=0;i<n;i++){ cout<<no[i].number<<" "; } }
第三題:通常都是String類的操做或者大型模擬題 叫你模擬json存儲,模擬文件目錄,模擬系統權限 然而我並無打完!!!最後交了一個半成品。。。code
OK!附上string的操做函數:對象
# =,assign() //賦以新值blog
# swap() //交換連個字符串的內容
# += ,append(),push_back() //在尾部添加字符
# insert() //插入字符
例:str.insert(6,str1); 在6的位置插入str1
str.insert(6,str2,13,4) 在str 第6的位置插入str2第13後的4個字符
# erase() //橡皮擦~刪除字符
# clear() 刪除所有字符
# replace() //替換字符
+ 串聯字符串
# == != < <= >= > compare() //比較字符串
# size() length() 字符串數量
# empty() //判空
# substr() 返回某個子字符串
例:str2 = str.substr(0,10) str2就是str前十個字符串
# compare()
例:string s= ("abcd");
s.compare(0,2,s,2,2); 用「ab」和「cd」比較
s.compare(1,2,"bcx",2) 用「bc」和「bc」比較
# find()
rfind()
find_first_of()
find_last_of()
find_first_not_of()
find_last_not_of()
說明:第一個參數是被搜索的對象
第二個參數是string內的搜索起點索引(無關緊要)
第三個參數是搜索的字符格式(無關緊要)
注意:返回是第一個字符的索引 沒有找到則返回String::npos
第四題:純算法題 有最短路(dijikstra算法,spfa算法) ,dp動態規劃,bfs,dfs,spfa
第五題:通常不看 若是有時間 看一眼暴力作一下
哎!一句話 重在參與 明年再來!