點擊查看視頻題解
點擊查看2018年藍橋杯A組C/C++決賽題目(不含答案)html
畫個圖,求三角形面積,能夠用外接長方形 - 其餘多餘區域面積c++
固然網上不少用海倫公式啊什麼的均可以的ide
#include<bits/stdc++.h> using namespace std; double x1 = 2.3; double yy1 = 2.5; double x2 = 6.4,y2 = 3.1; double x3 = 5.1,y3 = 7.2; int main(){ double a = x2 - x1; double b = y3 - yy1; double c = x3 - x1; double d = x2 - x3; double e = y2 - yy1; double f = y3 - y2; cout<<a*b<<endl; double s = a * b - a * e * 0.5 - b * c * 0.5 - d * f * 0.5; cout<<s<<endl; return 0; } //8.795
枚舉
題意是:將一個數分紅兩個平方數相加,求天然數中一共能分12組的最小值
預處理因此平方數,枚舉就能夠了,還要注意,這裏要分解成12組不一樣的數,咱們枚舉時會計算兩個平方數交換的次數,因此算成12*2組就能夠了。spa
#include<bits/stdc++.h> using namespace std; typedef long long ll; const ll maxn = 1e7+10; ll can[maxn]; void init(){ for(ll i=1;i<=1e6;i++){ if(i * i > maxn) break; can[i*i] = 1; } } int main(){ init(); //能組成12個 for(int k = 1105;k<=200000;k++){ int ans = 0; for(int a=1;a<=k;a++){ if(!can[a]) continue; if(!can[k - a]) continue; ans++; } if(ans == 12*2){ cout<<k<<endl; break; } } return 0; } //5525 a 和 k-a 交換 //160225 不能交換
網上也都是這個答案,不保證正確性:balance(data[0] + data[1] + data[2] , data[3] + data[4] + data[5]).net
30% - 80%數據點能夠用隊列暴力作的code
設置變量計數器t
若是t == k:隊頭出隊, t賦值爲1
不然t++,對頭出隊再進隊尾視頻
100%轉換成約瑟夫數學問題了,見題解:http://www.javashuo.com/article/p-bazvhiow-en.htmlhtm
30%暴力作法代碼:blog
#include<bits/stdc++.h> using namespace std; /* 使用隊列模擬 能過部分數據 設置變量計數器t 若是t == k:隊頭出隊, t賦值爲1 不然t++,對頭出隊再進隊尾 */ queue<int> q; int n,k; int main(){ cin>>n>>k; for(int i=1;i<=n;i++){ q.push(i); } int t = 1; while(q.size() > 1){ int front = q.front(); if(t == k){ q.pop(); t = 1; }else{ q.pop(); q.push(front); t++; } } cout<<q.front()<<endl; return 0; }
30%數據點暴力
100%遞推 見題解:https://blog.csdn.net/metaphysis/article/details/6532638隊列
30%暴力作法代碼:
#include<bits/stdc++.h> using namespace std; //模擬 30%數據 int n; vector<int> v; void init(){ v.push_back(1); v.push_back(1); v.push_back(2); v.push_back(2); } int main(){ cin>>n; init(); int ans = 4; for(int i=3;i<=n;i++){ int t = v[i]; if(ans < n){ for(int j=1;j<=t;j++){ v.push_back(i); } ans += t; }else{ break; } } cout<<v[n]<<endl; return 0; }
沒寫