华为笔试C++

佬们,今天做了道华为笔试的进程优先调度的题,问题大致如下,首先输入指定数据n,表示n个任务,第一个为编号,第二个为优先级,第三个为执行时间,首先根据优先级大的进行选择,若优先级一样,则选择执行时间短的,若执行时间也一样,选择编号小的,
大概样例:
4
1 10 30
2   5  40
3   8  20
4   5  20
预期输出:1 3 4 2
结果我的代码编译后测试输出和预期输出都是一样的,结果一直显示答案错误(%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()
{
    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<<&quot; &quot;;
    }
    return 0;
}
全部评论
佬,我跟你同一场笔试,方便交流下吗
点赞 回复 分享
发布于 2024-03-01 02:47 湖南
华为的春招?
点赞 回复 分享
发布于 2024-02-29 14:10 江苏
保密协议不能透露笔试题目的
点赞 回复 分享
发布于 2024-02-28 22:28 湖北
没有空格 是不是惊呆了😆
点赞 回复 分享
发布于 2024-02-28 22:01 上海
最后一个输出后面不加空格,我第一遍也被恶心了一下
点赞 回复 分享
发布于 2024-02-28 20:57 内蒙古
上述代码好像看得混乱,重新发一下 #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; }
点赞 回复 分享
发布于 2024-02-28 20:55 上海

相关推荐

码农索隆:有点耳熟,你们是我教过最差的一届
点赞 评论 收藏
分享
asdasdasda...:19岁,不容易啊可能升个本会好点,现在学历歧视太严重了
点赞 评论 收藏
分享
后来123321:别着急,我学院本大二,投了1100份,两个面试,其中一个还是我去线下招聘会投的简历,有时候这东西也得看运气
无实习如何秋招上岸
点赞 评论 收藏
分享
评论
1
7
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务