奇安信笔试题目

1,结束进程树

使用广度优先遍历就可以了。

#include 
#include 
#include
using namespace std;

int main(void)
{
 int temp;
 vector num;
 vector num1;
 vector num2;
 while (cin >> temp)
  num.push_back(temp);
 queue mm;
 mm.push(num[num.size() - 1]);//要删除哪个进程,
 num.pop_back();
 int count = 1;
 for (int i = 0; i < num.size(); i++)
 {
  if (i < num.size()/2)
   num1.push_back(num[i]);
  else
   num2.push_back(num[i]);
 }
if(find(num2.begin(),num2.end(),mm.front())==num2.end())
{
    cout<<0;
    return 0;
}
 while (!mm.empty())
 {
  int cnt = mm.front();//输出进程
  mm.pop();
  for (int i = 0; i < num2.size(); i++)
  {
   if (num2[i] == cnt)
   {
    count++;
    mm.push(num1[i]);
   }
  }
 }
 cout << count;
 return 0;
}

2.队尾幸运编号

#include
#include
using namespace std;
int main()
{
  int n;
  cin>>n;
  if(n<=1)
  {
  cout<<1;
  return 0;
  }
  int res=0;
  vectora(n,1);
 
	for(int i=0;i

 

你可能感兴趣的:(奇安信笔试题目)