点击查看视频题解
点击查看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; }
没写