P2006 赵神牛的游戏
赵神牛的游戏
题目描述
在 DNF 中,赵神牛有一个缔造者,他一共有
当然,赵神牛技术很菜,他一局只放一个技能,不过每个技能都可以放无数次。
输入格式
第一行有三个整数,分别表示
后面
输出格式
输出仅一行,既可以杀死 boss 的技能序号,如果有多个,按从小到大的顺序输出,中间用一个空格隔开;如果没有技能能杀死 boss,输出 -1
。
样例 #1
样例输入 #1
100 3 5000
20 1000
90 1
110 10000
样例输出 #1
1
样例 #2
样例输入 #2
50 4 10
60 100
70 1000
80 1000
90 0
样例输出 #2
-1
提示
数据规模与约定
对于全部的测试点,满足:
, 。
我的代码
遇到了错误
Runtime Error.
Received signal 8: Floating-point exception.
为何呢?因为出现了除数为0的情况,这里的skills[i].a == 0是有可能的
解决: if (skills[i].a == 0 || (k / skills[i].a) * skills[i].b >= n)
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct skill
{
int a;
int b;
} Skill;
int main()
{
int k, m, n, num = 0;
scanf("%d %d %d", &k, &m, &n);
Skill *skills = (Skill *)malloc(m * sizeof(Skill));
int *count = (int *)malloc(m * sizeof(int));
if (skills == NULL)
{
printf("内存申请失败");
return 1;
}
memset(skills, 0, m * sizeof(Skill));
for (int i = 0; i < m; i++)
{
scanf("%d %d", &skills[i].a, &skills[i].b);
if (skills[i].a == 0 || (k / skills[i].a) * skills[i].b >= n)
{
count[num] = i + 1;
num++;
}
}
if (num == 0)
printf("-1");
else
{
for (int i = 0; i < num; i++)
printf("%d ", count[i]);
}
return 0;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了