- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
问题描述如下:由于你是 Monk 最喜欢的学生,因此有 N 个过程需要你(被选中的人)完成。所有进程都分配有一个唯一的编号,从 1 到 N。
现在,你有两件事:- 调用所有进程的调用顺序。- 所有进程执行的理想顺序。
现在,让我们通过一个例子来演示这一点。假设有3个进程,进程的调用顺序是:3 - 2 - 1。理想的顺序是:1 - 3 - 2,即进程号3只有在进程号1完成后才会执行;进程号2只有在进程号3执行完之后才会被执行。
-迭代#1:由于理想的顺序是首先执行进程#1,所以调用顺序发生了变化,即第一个元素必须被推送到最后一个地方。改变元素的位置需要1个时间单位。新的调用顺序是:2 - 1 - 3。第 1 步花费的时间:1。
-迭代#2:由于理想的订单首先要执行流程#1,因此必须再次更改调用顺序,即第一个元素具有被推到最后一个位置。新的调用顺序是:1 - 3 - 2。第 2 步花费的时间:1。
-迭代#3:由于调用顺序的第一个元素与理想顺序相同,因此将执行该过程。它就会这样弹出来。第 3 步所用时间:1。
-迭代#4:由于调用顺序的新第一个元素与理想顺序相同,因此将执行该过程。第 4 步所用时间:1。
-迭代#5:由于调用顺序的最后一个元素与理想顺序相同,因此将执行该过程。步骤 #5 所用时间: 1.总时间:5 个单位。
PS:执行一个进程需要1个时间单位。改变位置需要1个时间单位。
输入格式:第一行数字N,表示进程数。第二行包含进程的调用顺序。第三行包含进程的理想顺序。输出格式:打印要执行的整个进程队列所花费的总时间。限制:1<=N<=100
但是我的输出是这样的:我哪里做错了!!!!!!
输入33 2 11 3 2
代码的输出 73
预期正确输出 5
编译日志 编译成功。
#include <stdio.h>
int *move_last(int a[],int n1)
{
int temp,i;
temp=a[0];
for(i=1;i<n1;i++)
{
a[i-1]=a[i];
}
a[n1-1]=temp;
return a;
}
int *remove_first(int a[],int n2)
{
int temp,i;
temp=a[0];
for(i=1;i<n2;i++)
a[i-1]=a[i];
return a;
}
int main()
{
//co:calling order array io:ideal order array
//ptime:process time**strong text**
int co[100],io[100];
int n,i,j,count=0,ptime=0;
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&co[i]);
for(i=0;i<n;i++)
scanf("%d",&io[i]);
while(count!=n)
{
while(co[0]!=io[0])
{
int *p;
int size=sizeof(co)/sizeof(co[0]);
p=move_last(co,size);
for ( i = 0; i < size; i++ )
co[i]=*(p + i);
ptime++;
}
if(co[0]==io[0])
{
int *p;
int size=sizeof(co)/sizeof(co[0]);
p=remove_first(co,size);
size=size-1;
for ( i = 0; i < size; i++ )
co[i]=*(p + i);
count++;
ptime++;
}
}
printf("%d",ptime);
`enter code here`return 0;
}
最佳答案
这是java中的解决方案
import java.io.*;
import java.util.LinkedList;
import java.util.Queue;
public class Monk_and_Power_of_Time {
public static void main(String[] args) throws IOException
{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
int n=Integer.parseInt(br.readLine());
String s[]=br.readLine().trim().split(" ");
Queue<Integer> q=new LinkedList<Integer>();
for(int i=0;i<n;i++)
{
q.add(Integer.parseInt(s[i]));
}
String s2[]=br.readLine().trim().split(" ");
Queue<Integer> q2=new LinkedList<Integer>();
for(int i=0;i<n;i++)
{
q2.add(Integer.parseInt(s2[i]));
}
check(n,q,q2);
}
private static void check(int n, Queue<Integer> q, Queue<Integer> q2)
{
int c=0;
while(true)
{ if(q.peek()!=q2.peek())
{
int a=q.peek();
q.remove();
q.add(a);
c++;
}
if(q.peek()==q2.peek())
{
q.remove();
q2.remove();
c++;
}
if(q.isEmpty() )
{
break;
}
}
System.out.println(c);
}
}
关于c - Monk 和 Power of Time DataStructure 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45207429/
我的类有很多方法,其中一些方法是用注释标记的。每个方法可以有很多注释,例如 @StepAnnotation(name="Action1" ) @SequenceAnnotation(name="tra
是否有关于小型 集合(例如 1-100 个元素)的各种 Java 集合实现的性能的任何好的引用,或者有人可以告诉我更多相关信息吗? O(1) vs O(log n) 的故事与这些大小几乎无关,但由于我
我正在尝试基于已经存在的数据结构(我无法修改并且它本身不是图形)构建图形数据结构。我想我对如何构建与图形本身有关的大部分结构有所了解,但现在我必须引用原始数据结构来获得一个小的“比较”功能,并且很难对
我有 6 种 datastructure . 它们都包含覆盖 10-20 个常用函数(紫色),例如addFirst() . 然而,一些数据结构有自己的0-5个独特的功能(粉红色)。 例如,只有 MyA
我必须在 Java 程序中存储大量单词 (+200k),并且我想快速访问它们。我只需要知道给定的单词是否属于我的“词典”。我不需要像 这样的一对.如果可能的话,我正在标准库中搜索解决方案。 PS:也
本文整理了Java中us.ihmc.robotics.dataStructures.registry.YoVariableRegistry类的一些代码示例,展示了YoVariableRegistry类
本文整理了Java中us.ihmc.robotics.dataStructures.variable.YoVariable类的一些代码示例,展示了YoVariable类的具体用法。这些代码示例主要来源
问题之前的一些背景。 想象文件 FileA 有大约 50 个不同类型的字段。我尝试使用一个服务程序,而不是所有程序都使用该文件,因此该文件只能由该服务程序访问。然后,调用该服务的程序将接收基于文件结构
我正在使用 Django 1.10 + celery==4.0.0rc3 + django-celery 并提交 @79d9689b62db3d54ebd0346e00287f91785f6355 。
我看过很多关于这个主题的问题,但没有一个能涵盖我的情况。 我正在构建一个基于 5 个类的 ACL 模块: 角色 特权 组 Wrapper(猜猜它做了什么..)Privilege、Role 和 Grou
我正在尝试安装和使用 DataStructures 包,但它似乎不起作用;或者我错过了一些东西。 Pkg.init() Pkg.status() Pkg.add("DataStructures") P
关于 SO 上的堆栈的问题,终于!我的一生都让我走到了这一步。 所以我需要将我制作的一些相当大的自定义数据结构合并到一个堆栈中。我决定编写一个仅包含一个整数值的最小堆栈结构。这里是 - MODULE
如何优化嵌套 if block 以进行快速比较。下面是我的代码,它比较两个不同的 java 对象。我有一个成员变量,它也具有位于 if block 之一中的模式。 listOfFilters 是 Ma
问题描述如下:由于你是 Monk 最喜欢的学生,因此有 N 个过程需要你(被选中的人)完成。所有进程都分配有一个唯一的编号,从 1 到 N。 现在,你有两件事:- 调用所有进程的调用顺序。- 所有进程
本文整理了Java中us.ihmc.robotics.dataStructures.registry.YoVariableRegistry.getAllVariables()方法的一些代码示例,展示了
本文整理了Java中us.ihmc.robotics.dataStructures.registry.YoVariableRegistry.getChildren()方法的一些代码示例,展示了YoVa
本文整理了Java中us.ihmc.robotics.dataStructures.registry.YoVariableRegistry.getVariable()方法的一些代码示例,展示了YoVa
本文整理了Java中us.ihmc.robotics.dataStructures.registry.YoVariableRegistry.getName()方法的一些代码示例,展示了YoVariab
本文整理了Java中us.ihmc.robotics.dataStructures.registry.YoVariableRegistry.registerVariable()方法的一些代码示例,展示
本文整理了Java中us.ihmc.robotics.dataStructures.registry.YoVariableRegistry.getAllVariablesInThisListOnly(
我是一名优秀的程序员,十分优秀!