`
200830740306
  • 浏览: 109403 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

poj3125简单模拟

阅读更多
import java.io.BufferedInputStream;
import java.util.Arrays;
import java.util.LinkedList;
import java.util.Scanner;

/**
 * @author NC
 * poj3125
 * 模拟...虽然简单,但写出来时,还是得调试一下
 */
public class Main {

    public static void main(String[] args) {

        Scanner scan = new Scanner(new BufferedInputStream(System.in));
        int cas = scan.nextInt();
        for (int i = 1; i <= cas; i++) {
            int n = scan.nextInt();
            int position = scan.nextInt();
            LinkedList<Job> queue = new LinkedList();
            int[] priority = new int[n];
            for (int j = 0; j < n; j++) {
                priority[j] = scan.nextInt();
                queue.addLast(new Job(j + 1, priority[j]));
            }
            Arrays.sort(priority);//非递减的
            int time = 0;
            int count = priority.length - 1;
            Job current = null;
            do {
                current = queue.getFirst();
                if (current.priority < priority[count]) {
                    current = queue.removeFirst();
                    queue.addLast(current);
                } else if (current.priority == priority[count]) {
                    time++;
                    count--;
                    queue.removeFirst();
                    if (current.number == position + 1) {
                        break;
                    }
                } else {
                    System.out.println("error");
                }
            } while (true);
            System.out.println(time);
        }
    }
}

class Job {

    int priority;
    int number;

    Job(int n, int p) {
        this.priority = p;
        this.number = n;
    }
}


分享到:
评论

相关推荐

    POJ题目简单分类(ACM)

    【标题】"POJ题目简单分类(ACM)" 涉及的知识点: 【描述】中的"学习起来更系统,更清爽"暗示了本话题旨在为ACM竞赛初学者提供一个有条理的学习路径。 【标签】"POJ 分类"表明我们将探讨的是基于POJ(Problemset On...

    POJ算法题目分类

    * 模拟法:模拟法是指通过模拟问题的过程来解决问题的方法,如 poj1068、poj2632、poj1573、poj2993、poj2996。 二、图算法 图算法是指解决图相关问题的算法,包括图的深度优先遍历和广度优先遍历、最短路径算法...

    poj题目分类

    * 模拟法:通过模拟问题的过程来解决问题,例如 poj1068、poj2632、poj1573、poj2993、poj2996。 2. 图算法: * 图的深度优先遍历和广度优先遍历:例如 poj1860、poj3259、poj1062、poj2253、poj1125、poj2240。 ...

    poj训练计划.doc

    - 模拟法:按照题目描述的规则进行操作,直至得到结果,如`poj1068, poj2632, poj1573`。 - **图算法** - 图的深度优先遍历和广度优先遍历:用于探索图的所有节点,如`poj1860, poj3259`。 - 最短路径算法:如...

    poj各种分类

    模拟法是对题目场景的直接模拟,适用于逻辑清晰、规则明确的问题,如poj1068和poj2632。虽然这种方法直观易懂,但在复杂度较高的情况下,效率可能不如更高级的算法。 ### 二、图算法 #### 图的遍历 包括深度优先...

    北京大学poj题目类型分类

    模拟题是POJ题目中的一种重要题型,通常涉及模拟实际情况和场景的应用,如模拟游戏、模拟运动等。这些题目要求学习者具备模拟算法和场景分析的基础知识。 * 1012 Joseph:这是一个模拟题目,要求学习者编写一个程序...

    POJ1004-Financial Management

    【标题】"POJ1004 - Financial Management" 是一个来自北京大学在线判题系统POJ(Problem Set of Peking University)的编程题目。这个题目主要涉及到计算机科学中的算法设计和实现,特别是与财务管理和计算相关的...

    acm poj300题分层训练

    如poj1753、poj2965用于枚举训练,poj1328、poj2109、poj2586是贪心策略的实例,poj2506和poj3295涉及分治法,poj1068、poj2632等则用于模拟训练。 2. **图算法**:包括图的深度优先遍历、广度优先遍历、最短路径...

    算法分类以及POJ题目分类

    3. 1003 Hangover:简单的模拟醉酒状态,注意条件分支。 4. 2301 Beat the Spread!: 模拟体育比赛的赌注,理解概率和比较。 5. 2304 Combination Lock:解锁密码组合,理解排列组合。 6. 2339 Rock, Scissors, Paper...

    poj题目代码

    生命游戏是由John Horton Conway提出的一种细胞自动机,通过简单的规则模拟生物的生长和死亡,是理解状态转移和并行计算的好例子。 2. poj_1013.c - "Divisors":此题主要考察了数论和数组处理,要求找出一个数的...

    poj编程指导

    在随后的章节中,书中通过例题的方式深入讲解了各类编程问题的解决方法,如简单计算题、数制转换问题、字符串处理、日期和时间处理、模拟、高精度计算以及枚举等。每个章节都包含了多个例题和练习题,旨在通过实践...

    poj_2682(3).rar_C++ 数组扩充_poj 26_poj 2682_poj26

    描述还暗示了解决方案可能相对简单,可能不涉及复杂的数据结构或高级算法。 标签"cpp_数组扩充"再次强调了问题的核心,即使用C++语言处理数组的扩展问题。在C++中,数组一旦声明其大小是固定的,不能动态扩容。但是...

    强大的POJ分类——各类编程简单题及其算法分类

    【强大的POJ分类——各类编程简单题及其算法分类】 POJ,全称为Peking University Online Judge,是北京大学提供的一个在线编程题目平台,支持多种编程语言,包括Pascal、C、C++、Java、Fortran、Python等。这个...

    poj 百练 题目分类

    poj 百练 题目分类是指在 POJ(Peking University Online Judge)平台上面的编程题目的分类,这些题目涵盖了多种编程领域,包括枚举、递归、模拟、数制转换、高精度计算、简单计算、字符串处理和日期时间处理等。...

    poj题目分类...

    简单、模拟题是 POJ 上的基础题目,它们通常不需要复杂的算法设计和实现。以下是一些推荐的题目: * 1001 Exponentiation * 1002 487-3279 * 1003 Hangover * 1701 Dissatisfying Lift * 2301 Beat the Spread! * ...

    poj中难度较小的题目

    1. poj3299(可能的题目类型:模拟):这类题目通常需要根据题目描述,编写一个程序来模拟特定场景或过程,比如时间计算、事件调度等。 2. poj2159(可能的题目类型:数学与贪心算法):这可能是需要运用一些基础...

    ACM常用算法及其相应的练习题.docx

    * 模拟法:poj1068, poj2632, poj1573, poj2993, poj2996 二、图算法 * 图的深度优先遍历和广度优先遍历 * 最短路径算法:dijkstra, bellman-ford, floyd, heap+dijkstra + poj1860, poj3259, poj1062, poj2253, ...

    北大POJ初级-数学

    10. **模拟法**:当无法找到直接的数学公式或算法时,可以通过编写程序模拟实际过程来解决问题,如模拟骰子游戏、抽奖系统等。 在解题报告中,每道题目的分析通常包括问题描述、解题思路、关键算法、代码实现和运行...

    pojacm题目具体分类

    ### poj题目具体分类知识点 **一、主流算法** 1. **搜索** - 回溯:这是一种通过尝试解决子问题并回退来寻找问题解的方法。例如,在解决N皇后问题时,我们会尝试放置皇后,一旦发现冲突就撤销该决策。 2. **动态...

Global site tag (gtag.js) - Google Analytics