我预感是逻辑错误

P2006 赵神牛的游戏

呃。。。。。。 ~~你题目条件似乎根本没理解清楚的感觉~~ 你的代码问题很多 1.N和M分不清楚 ~~(我一开始也分不清楚)~~ 2.要从小到大输出所有可能 3.题目上限没搞清楚:0<=n,m,k<=30000(这是萌新最常掉的坑) 1和3很好解决,但2该如何解决呢? 你的代码复杂化了,实际上很简单,边读边处理就可以了。 附上AC代码(希望你不要复制黏贴) ``` #include <bits/stdc++.h> #define ri register int #define ISWS(b) ios::sync_with_stdio(b) using namespace std; int k,m,n; int a,b,ans[30001];bool fl = true; int main(){ scanf("%d%d%d",&k,&m,&n); for(register int i = 1;i <= m;i ++){ scanf("%d%d",&a,&b); if((!a && b > 0) || (a && k / a * b >= n)){ fl = 0; ans[++ ans[0]] = i; } } if(fl) puts("-1"); else { for(register int i = 1;i <= ans[0];i ++) printf("%d ",ans[i]); } return 0; } ```
by PluviaLaver @ 2019-12-31 22:15:52


以后看题目仔细点,别漏关键条件。(我去年就因为这个导致我的分很惨) 另外题目里有个关键信息你漏了(我也忘打了): 他一局只放一个技能,不过每个技能都可以放无数次。
by PluviaLaver @ 2019-12-31 22:19:48


|