两个字概括,寄了!
目录
A 九进制转十进制
B 顺子日期
C 刷题统计
D 修建灌木
E X进制减法
F 统计子矩阵
G 积木画
H 扫雷
I 李白打酒加强版
J 砍竹子
A 九进制转十进制
B 顺子日期签到题
答案为:1478
C 刷题统计题意不明确,答案不确定是14还是4
我写了14
暴力代码第三题我直接用一个for循环暴力写的,考完试才发现数据量是1e18,。
。
。
(暴力杯一去不复返了)
#include
using namespace std;
typedef long long ll;
ll a, b, n;
ll sum;
ll d;
ll i;
int main() {
cin >> a >> b >> n;
for ( i = 1; i <= n; i++) {
if ((d + i) % 7 == 6 || (d + i) % 7 == 0) sum += b;
else sum += a;
if (sum >= n) break;
}
cout << i;
return 0;
}
D 修建灌木
E X进制减法规律题,考完后发现写错了,白丢了10分
F 统计子矩阵考时想了50分钟没看懂题意(太傻了。
。
)没做
G 积木画考时脑抽忘记二维前缀和怎么算了,也没骗到分,寄
H 扫雷看了一眼感觉不会,跳过了
暴力代码考时直接暴力枚举了,应该能过部分数据点
#include
using namespace std;
const int N = 1e5 + 10;
int n, m;
int x[N], y[N], r[N];
int xx[N], yy[N], rr[N];
bool check(int x, int y, int r, int a, int b) { //判断能否炸到
if (sqrt((x - a) * (x - a) + (y - b) * (y - b)) <= r) return 1;
return 0;
}
bool check1(int x, int y, int r, int xx, int yy, int rr) { //判断炸雷能否引爆炸雷
if (sqrt((x - xx) * (x - xx) + (y - yy) * (y - yy)) <= r + rr) return 1;
return 0;
}
bool p[N];
int ans;
int main() {
cin >> n >> m;
for (int i = 1; i <= n; i++) { //炸雷
cin >> x[i] >> y[i] >> r[i];
}
for (int i = 1; i <= m; i++) { //排雷火箭
cin >> xx[i] >> yy[i] >> rr[i];
}
for (int i = 1; i <= m; i++) {//枚举排雷火箭
for (int j = 1; j <= n; j++) {
if (check(xx[i], yy[i], rr[i], x[j], y[j]) && p[j] != 1) {//未炸过的
ans++;
p[j] = 1;//该炸雷标记会爆
}
}
}
for (int i = 1; i <= n; i++) {//枚举已炸的
for (int j = 1; j <= n; j++) {//未炸的
if (!p[i]) break;
else {
if (!p[j]) {//之前没炸过
if (check1(x[i], y[i], r[i], xx[j], yy[j], rr[j])) {
ans++;
p[j] = 1;
}
}
}
}
}
cout << ans;
return 0;
}
I 李白打酒加强版
代码考试的时候全排列了一波骗分
#include
using namespace std;
const int N = 100;
long long mod = 1000000007;
int n, m;
int a[N];//记录遇见物品
int res = 0;
int sum;
bool flag;
int main() {
cin >> n >> m;
for (int i = 0; i < m; i++) {//花
a[i] = 0;
}
for (int i = m; i < n + m; i++) { //店
a[i] = 1;
}
int l = m + n;
do {
flag = 0;
sum = 2;
for (int i = 0; i < l; i++) {
if (sum <= 0) {
flag = 1;
break;
}
if (a[i] == 0) sum--;
else if (a[i] == 1) sum *= 2;
}
if (flag == 0 && sum == 0) res++;
} while (next_permutation(a, a + l));
cout << res % mod;
return 0;
}
J 砍竹子
不会写
总结一下,这次蓝桥杯表现极其不好,估了一下分数好像只有30几分,会的没做对,不会的也没骗到分,简直就是从头炸到尾 ,学算法的兴趣都快被打没了🤣
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)