华为笔试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;
}
大概样例:
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
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;
}
分享
最后一个输出后面不加空格,我第一遍也被恶心了一下
分享
联易融
官网直投
没有空格 是不是惊呆了😆
分享
保密协议不能透露笔试题目的
分享
华为的春招?
分享
佬,我跟你同一场笔试,方便交流下吗
分享
相关推荐
点赞 评论 收藏
转发
投递华为等公司10个岗位 >
点赞 评论 收藏
转发
投递华为等公司10个岗位
点赞 评论 收藏
转发
点赞 评论 收藏
转发