华为笔试C++

佬们,今天做了道华为笔试的进程优先调度的题,问题大致如下,首先输入指定数据n,表示n个任务,第一个为编号,第二个为优先级,第三个为执行时间,首先根据优先级大的进行选择,若优先级一样,则选择执行时间短的,若执行时间也一样,选择编号小的,
大概样例:
4
1 10 30
2   5  40
3   8  20
4   5  20
预期输出:1 3 4 2
结果我的代码编译后测试输出和预期输出都是一样的,结果一直显示答案错误(%0)是咋个回事啊,是格式的问题吗?
代码如下:
#include
using namespace std;

struct Node
{
    int num;
    int P;
    long long T;
}s[10000];

bool cmp(Node a,Node b)
{
if(a.P>b.P)
        return true;
    else if(a.P==b.P)
    {
        if(a.T        else if(a.num    }
    return false;
}
int main()
{
    int input;
cin>>input;
    for(int i=0;i    {
cin>> s[i].num >>s[i].P >>s[i].T;
    }
    sort(s,s+input,cmp);
    for(int i=0;i    {   
       cout<    }
    return 0;
}
全部评论
上述代码好像看得混乱,重新发一下 #include<algorithm> using namespace std; struct Node { int num; int P; long long T; }s[10000]; bool cmp(Node a,Node b) { if(a.P>b.P) return true; else if(a.P==b.P) { if(a.T<b.T) return true; else if(a.num<b.num) return true; } return false; } int main() { // please define the C++ input here. For example: int a,b; cin>>a>>b;; // please finish the function body here. // please define the C++ output here. For example:cout<<____<<endl; int input; cin>>input; for(int i=0;i<input;i++) { cin>> s[i].num >>s[i].P >>s[i].T; } sort(s,s+input,cmp); for(int i=0;i<input;i++) { cout<<s[i].num<<" "; } return 0; }
点赞 回复
分享
发布于 02-28 20:55 上海
最后一个输出后面不加空格,我第一遍也被恶心了一下
点赞 回复
分享
发布于 02-28 20:57 内蒙古
联易融
校招火热招聘中
官网直投
没有空格 是不是惊呆了😆
点赞 回复
分享
发布于 02-28 22:01 上海
保密协议不能透露笔试题目的
点赞 回复
分享
发布于 02-28 22:28 湖北
华为的春招?
点赞 回复
分享
发布于 02-29 14:10 江苏
佬,我跟你同一场笔试,方便交流下吗
点赞 回复
分享
发布于 03-01 02:47 湖南

相关推荐

1 7 评论
分享
牛客网
牛客企业服务