- 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/
我已经编码了三四个月(从 Python 开始),由于 Rails 的流行,我才开始接触 Ruby。 为了帮助加深对 Ruby 语言的理解,我一直在研究 Ruby Monk 上的问题。 Ruby Pri
我今天开始使用Monk,有一些东西我不太明白,而且文档太少了。 首先是代码: const movieToProcess = movieCollection.findOne({ link: vi
我正在尝试使用 Javascript 搜索 mongodb,但我还没有想出如何去做。感谢您的帮助。 我在请求正文 (req.body.search) 中有一个名为“search”的搜索参数。我想找到名
我意识到所有的Monk's problems测试集比训练集大。为什么这个数据集是这样组织的?我认为这很奇怪,即使它是用于模型比较的虚拟数据集。 和尚1训练样本:124测试样本:432 和尚2训练样本:
我正在尝试编写一个异步函数,从 mongodb 集合中为我提供一个随机文档。 var getRandDoc = function(){ var db = monk('localhost/dat
我正在使用 Node、Mongo 和 Monk 开发一个 CRUD 应用程序。我想通过用户名找到一条记录,然后更新它。但我找不到记录,此代码无效: // GET User Profile router
我在 Mongo/Monk 和 node.js 上学习了 2 小时,我想计算我插入到集合中的对象数量,但我看不到任何关于如何使用 Monk 执行此操作的文档。 使用下面的似乎没有返回我所期望的 var
下面是我正在尝试做的事情的简化示例,只是为了让 .count() 工作。当我运行此命令时,我收到与 count() 函数相关的“类型错误:未定义不是函数”。 查看文档和其他问题,我真的认为这会起作用,
我是node.js、mongoDB、monk 和express 的新手(全部都是最新版本)。当我工作时,我遇到了以下情况: 我有一个已更新的表,我会定期从中读取数据。当我读取它时,我会更新数据库中的一
当我想在我的 mongodb 中插入一个包含子文档数组元素的 mongodb 文档时,函数将其错误地插入到数据库中。我以这种方式调用插入函数: var OrderItem = []; OrderIte
我正在使用 monk 模块从 mongodb 获取数据。但是一旦我连接到数据库,它就会创建 5 个连接。 这是我的命令行 mongodb 服务器控制台... 2015-05-14T10:32:35.
问题描述如下:由于你是 Monk 最喜欢的学生,因此有 N 个过程需要你(被选中的人)完成。所有进程都分配有一个唯一的编号,从 1 到 N。 现在,你有两件事:- 调用所有进程的调用顺序。- 所有进程
请注意,我对 mongo 相当陌生,尤其是对使用 Node/js 非常陌生。 我正在尝试编写一个查询来插入新文档或更新我的集合中已有的文档。 建议的集合结构是: { _id: xxxxxxx, ip:
在我使用 Monk 的 Node.js (Express) 应用程序中,我需要呈现 MongoDB 数据库中所有集合的列表。 有没有办法使用 Monk 获取数据库中的集合列表? 最佳答案 这基本上可以
我有大量文件。我想获得其中的前 100 个。来自 Monk Docs,这是我正在使用的查找方法 var documents = []; users.find({}, function (err, do
我正在和 monk 一起工作,当我使用一个函数在数据库中查找用户时,我希望他们根据是否找到它来返回一个 bool 值。这是代码: 功能: function userExist() { users
首先是我文档的结构: { "_id": "541a8bea74123744b371d38e", "geometry": { "type": "Point", "coordina
我正在尝试用 swig 在 koajs 上做一个非常简单的应用程序“todo app”,并且我已经成功地将数据插入到 Mongodb,在我的例子中,数据库的名称是“mytodos”,集合是“todos
我是 Mongo 新手。我需要一个简单项目的数据库,最终遵循了使用 Mongo 和 Monk 的教程,但我在理解如何处理错误方面遇到了问题。 背景:我在客户端有一个注册表单。当用户单击按钮时,数据通过
我有一个这样的数据集: { name : 'Doc Name', photos: [ { name: 'photo1', url: 'http://
我是一名优秀的程序员,十分优秀!