杭电acm crixalis's equipment 结果是对的但提交后 老是wrong answer 高手帮忙看一下~

#include<iostream>#include<algorithm>usingnamespacestd;structc{inta;intb;}c1[1010];/*... #include<iostream>
#include<algorithm>
using namespace std;
struct c
{
int a;
int b;
}c1[1010];

/*这个cmp函数很重要.如果希望升序排序,就是"<",降序排列就是">"号,
这样便于直观记忆.如果希望用elem2作为比较标准就把elem1改为elem2,
这样结构体就以elem2为比较标准排序了.*/
bool cmp(c A,c B)
{ return A.b>B.b;}

void main()
{
int v,T,N,j,flag,k,h=0;

cin>>T;
while(h++<T) //输入一个既加1;一进入循环就已加一;h=1,2...
{

for(j=0;j<1010;j++)
{ c1[j].a=0;c1[j].b=0;}
cin>>v>>N;
j=0;
while(j<N)
{
cin>>c1[j].a>>c1[j].b;
j++;
}

sort(c1,c1+N,cmp);
for(k=0;k<N;k++)
{
if(c1[k].b<=v){v=v-c1[k].a;flag=1;}
else {flag=0;break;}
}
if(flag==1) cout<<"YES"<<endl;
else cout<<"No"<<endl;
}
}
展开
 我来答
囊中无忌
2012-04-09 · TA获得超过107个赞
知道小有建树答主
回答量:126
采纳率:66%
帮助的人:71.2万
展开全部
20 3
10 20
3 10
1 7
这是测试例子,结果是Yes。
如果我把
10 20
3 10
这两行调换一下,实际上还是同一组数据,只是变成以下形式:
3 10
10 20
1 7
但是你的程序会是No。

而且你的YES应该严格按题目要求打印:Yes.
希望你再仔细考虑,顺利AC。
追问
那个   可能你没仔细看   我的cmp 函数   我是正确的    不过我真是吧“Yes”打错了 
谢了
精致且灿烂丶典范k
2012-04-08 · TA获得超过9583个赞
知道大有可为答主
回答量:1.3万
采纳率:3%
帮助的人:4026万
展开全部
你的思想是错误的。给你一个列子你就明白你错在哪了。 6 6 1 2 3 4 3 5 3 6 4 5 4 6 你输出的结果是0,正确应该是1. ,HERmQH
追问
嗯?  结果就是不能都放进去啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式