- 题解
直播获奖
- @ 2024-10-23 20:55:23
直播获奖
这题是一个算得上是入门题吧 . . .
你想想啊,最高的分数不大,也就600,铁定用桶啊。
/*
好的题解不能没有带坑的代码呀~
*/
#include <bits/stdc++.h>
using namespace std;
// 定义桶变量, k,答案变量
void solve() { // 用朱老师的方法 ———— 函数解决
ans = -1;
// k 是否为 0 ,是 0 就把它设为 1
for (long long i = 600; i >= 0; i --) { // 倒着遍历一遍桶
k -= /*桶*/[i]; // 人数减少,不用判断是否存在,因为没存在 tong[i] 为 0 相当于没减
if (k <= 0){ // 因为 k 代表所能通过的人数
// 答案设置为 i ,结束函数
}
}
return; // 没找到,就是这么潦草结束
}
int main() {
// freopen("fight.in", "r", stdin);
// freopen("fight.out", "w", stdout);
// 定义 n,w,分数
cin >> n >> w;
for (long long i = 1; i <= n; i ++) {
//输入分数
/*桶*/[/*分数*/] ++;
k = i * w / 100;
// k 是 0 就设为 1
ans = -1;
for (/*遍历桶(倒着,从 600 到 1 而不是 1 到 600!)*/) {
k -= /*桶*/[j];
if (k <= 0) {
// 设置答案为 i
// break 循环
}
}
// 输出结果
}
return 0;
}
完结撒花✿✿ヽ(°▽°)ノ✿
0 条评论
目前还没有评论...