一.题目 课堂上有n个学生(n<=10).每个学生都有一个“睡眠-清醒”周期,其中第i个学生醒Ai分钟后睡Bi分钟,然后重复(1<=Ai,Bi<=5),初始第i个同学处于他的周期的Ci分钟.每个学生在临睡前,只有全班睡觉人数严格大于清醒人数才睡觉,否则坚持Ai分钟后再检查.问经过多长时间全班都清醒,不存在输出-1. 二.解题思路 重点在于体会Ci的含义,Ci表示第i个同学在自身周期内所处的状态.模拟整个过程,注意时间取长点,但不要太长. 三.代码 #include<stdio.h&…
一:题目 课堂上有n个学生(n<=),每个学生上课都会出现一个“清醒-睡眠”周期,其中第i个学生学习Ai分钟后睡眠Bi分钟,依次重复.其中在从清醒到睡眠时有一个条件:只有到全班睡眠人数大于清醒人数时,这个学生才敢睡觉. 题目使用(A,B,C)来描述一个学生的信息,A是该学生的清醒时间,B是该学生的睡眠时间,C是该学生的初始状态值(即在初始时是这个周期的第几分钟) 问经过多久,所有人都清醒,当然也可能不存在这个时间,就输出-. (一)案例详解 学生人数 清醒2分钟 睡眠4分钟 初始状态是在周期第1…
https://vjudge.net/problem/UVA-12108 题意:给出n个学生的“清醒—睡眠”周期和初始时间点,每个学生在睡眠时需要判断全班睡觉人数是否严格大于清醒人数,否则在坚持一个清醒周期后再次判断.求出多长时间时全班都是清醒状态. 思路:水题吧.一次次的枚举下去,循环终止的条件就是和初始状态相同. #include<iostream> using namespace std; struct Node { int A; int B; int C; }stu[]; ]; int…
题1.给定一个int数组,一个数sum,求数组中和为sum的任意2个数的组合 @Test public void test_find2() { int[] arr = { -1, 0, 2, 3, 4, 7, 8, 9, 10 }; int sum = 9; Arrays.sort(arr); List<TwoTuple<Integer, Integer>> result = new ArrayList<>(); int i = 0; int j = arr.lengt…
一:题目 有一组学生,他们手中分别有自己学校和想要去的目标学校(A,B).为了成功的交换学生,必须保证这一组学生中必须每两个人之间满足 s1 (A,B) 和 s2 (B,A).即两者原来和目标学校相对应,可以实现交换 (一)样例输入 (二)样例输出 YES NO 二:代码实现 #define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <vector> #include <map> using namespa…
https://segmentfault.com/a/1190000002710424 思想:当前层各节点首元素不同,则各节点的剩余元素也不同:下一层节点交换范围为首元素以外的元素 全排列算法: void swap(char *a, int i, int j){ char tmp = a[i]; a[i] = a[j]; a[j] = tmp; } void permutation(char *a, int from, int to){ ) return; if (from == to){ st…
1038 统计同成绩学生 (20 分) 本题要求读入 N 名学生的成绩,将获得某一给定分数的学生人数输出. 输入格式: 输入在第 1 行给出不超过 10​5​​ 的正整数 N,即学生总人数.随后一行给出 N 名学生的百分制整数成绩,中间以空格分隔.最后一行给出要查询的分数个数 K(不超过 N 的正整数),随后是 K 个分数,中间以空格分隔. 输出格式: 在一行中按查询顺序给出得分等于指定分数的学生人数,中间以空格分隔,但行末不得有多余空格. 输入样例: 10 60 75 90 55 75 99…
一:题目 这是最懵逼的一道题,什么鬼......... [刷题]算法竞赛入门经典(第2版) 4-9/UVa1591 - Data Mining(详细题目看这个吧,不想多说) 二:代码实现 #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> #include <string> unsigned int N, Sp, Sq, A_min, B_min; //1<= N <=…
dfs树与tarjan算法 标签(空格分隔): 517coding problem solution dfs树 tarjan Task 1 给出一幅无向图\(G\),在其中给出一个dfs树\(T\),选出\(G\)中的一个边集\(E\),使得在所有T-Simple-Circle(即最多有1条边不在\(T\)中的路径)包含至少一个\(E\)中的元素,最小化\(E\)中元素个数. 对于100%的数据 \(1 \leq n \leq 2 \times 10^3, 1 \leq m \leq 2\tim…
1.递归实现(参考:https://blog.csdn.net/hit_lk/article/details/53967627) public class Test { @org.junit.Test public void test() { System.out.println("方案数:" + getAllSchemeNum(new int[]{ 5, 5, 5, 2, 3 }, 15)); } // out : 方案数:4 /** * 从数组中选择和为sum的任意个数的组合数 *…